对数组中的总数进行排序

时间:2014-10-14 09:13:13

标签: java sorting

我试图列出文本文件中的所有内容,然后通过忽略每行中的第一个元素并按降序排序来计算每个元素的数量。我不知道如何对它进行排序。

文本文件的内容:

1,2,8,4,5,6,7,7,

3,4,5,6,7,8,3,

5,6,7,8,9,9,

我希望预期的结果是这样的:

考试[1]:2 8 4 5 6 7 7

数:7

考试[3]:4 5 6 7 8

数:5

考试[5]:6 7 8 9 9 3

数:6

排序:

如何按降序排序计数7,计数6和计数5?

我尝试过使用这种排序:

private static void sortInDescending(int[] num){

    int n = num.length;
    int temp = 0;

    for(int i = 0; i < n; i++) {

        for(int j = 1; j < (n-i); j++) {

            temp = num[j-1];
            num[j-1] = num[j];
            num[j] = temp;

        }
    }
}

但是这种方法是按降序对每行中的每个元素进行排序。

这是我迄今所做的编码:

Scanner scanner = new Scanner(new File("test.txt"));
int row = 0;
int count = 0;

while(scanner.hasNextLine()) {
    String currentline = scanner.nextLine();

    row++;

    String[] items = currentline.split(",");
    int[] intitems = new int[items.length];
    int i = 0;

    for(i = 0; i < items.length; i++) {
        intitems[i] = Integer.parseInt(items[i]);

        if(i == 0) {

            System.out.print("Exam[" +intitems[i]+ "] ");
        } else {

            System.out.print(intitems[i]+ " ");
            count++;
        }
    }

    System.out.println("\nCount " +count);
    count = 0;
}

1 个答案:

答案 0 :(得分:0)

以下是使用Arrays

对数组进行排序的方法,而不是自己进行排序
//initialize the array which you want to sort
//in your case it would be `exam` or `count` array
//Pass the array as an argument to sort method, for example
int[] s = new int[10];         //initialize it with values
Arrays.sort(s);                //this will sort it in ascending order
System.out.println(Arrays.toString(s));   //to print it

现在,如果你想要反转它 - 使用for循环并从最后一个索引读取你的数组到第一个索引。我相信你可以做到。