计数方法显示两次

时间:2015-08-26 00:10:01

标签: java arrays

我需要一些帮助才能解决我遇到的错误:

这是我的代码:

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继续显示并删除" []"性格,但我被困在试图弄清楚几个小时。此外,我的排序方法效率不高,无法正确排序数组。你们能给我一些提示或想法吗?我有一种感觉,我搞砸了某个地方并且错过了它。

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);
    // ....
}