【发布时间】:2015-04-11 04:06:40
【问题描述】:
我正在尝试获取下面的字符串,将其转换为数组,对数组进行排序,然后取出所有重复项。我已经到了排序的部分,但是当我运行它以希望删除重复项时,它似乎打印的是位置而不是那里的值。
这也将空格计为长度,为此我的长度为 59。
我可以得到一些帮助来弄清楚我需要改变什么吗? 谢谢大家!
import java.util.*;
public class Challenge208 {
public static void main(String[] args) {
String numbers = "3 1 3 4 4 1 4 5 2 1 4 4 4 4 1 4 3 2 5 5 2 2 2 4 2 4 4 4 4 1";
char[] chars = numbers.toCharArray();
Arrays.sort(chars);
System.out.println(chars);
int current = chars[0];
boolean found = false;
for (int i = 0; i < chars.length; i++) {
if (current == chars[i] && !found) {
found = true;
}else if (current != chars[i]) {
System.out.print(" " + current);
current = chars[i];
found = false;
}
}
System.out.print(" " + current);
}
}
【问题讨论】:
-
谢谢!我仍然有一个错误,我的输出有大量空格。有没有办法解决这个问题?
-
嗯,这是一个肮脏的修复,但由于我不知道你的程序是什么,我相信字符串实例上的
.trim()方法会摆脱不需要的空格。
标签: java arrays sorting character-arrays