我需要一些帮助才能解决我遇到的错误:
这是我的代码:
Total number of elements in array : 120
[1, 100, 102, 108, 121, 124, 124, 124]
Total number of elements in array : 1
[]
Total number of elements in array : 125
[104, 105, 114, 115, 115, 119, 123]
Total number of elements in array : 1
[]
Total number of elements in array : 106
[104, 105, 114, 115, 115, 119, 123, 141, 142]
每次运行时,都会打印出来:
{{1}}
我想删除元素总数:1继续显示并删除" []"性格,但我被困在试图弄清楚几个小时。此外,我的排序方法效率不高,无法正确排序数组。你们能给我一些提示或想法吗?我有一种感觉,我搞砸了某个地方并且错过了它。
答案 0 :(得分:0)
我想删除元素总数:1一直显示
Easy-peasy,删除此打印声明:
System.out.println("Total number of elements in array : " + lineArray.length );
...并删除“[]”字符
因此切掉Arrays.toString
的开头和结尾:
String s = Arrays.toString(lineArray);
System.out.println(s.substring(1, s.length() - 1));
我的排序方法也不是很有效
呃,你正在使用Java的Arrays.sort
,所以效率很高,很好。
...并且无法正确排序数组。
我想你的意思是这些值不是按数字排序,而是按字母顺序排序。
要以数字方式对它们进行排序,您必须在调用String[]
之前将Arrays.sort
转换为数字数组。
String line = inFile.nextLine().trim();
if (!line.isEmpty()) {
String[] lineArray = line.split("\\s+");
int[] nums = new int[lineArray.length]
for (int i = 0; i < nums.length; ++i) {
nums[i] = Integer.parseInt(lineArray[i]);
}
Arrays.sort(nums);
// ....
}