对数组的整数进行排序

时间:2013-11-25 01:48:11

标签: java arrays sorting integer

我正在尝试对数组的整数进行排序,但是我一直在尝试错误。我试过sort(数组);的Array.Sort(); Arrays.sort(数组);和Arrays.sort();但没有任何作用。帮助将不胜感激。我得到的这个Arrays.sort(数组)的错误是找不到符号,符号变量Arrays location:class Main

  public static void main(String[] args) {
    int[] array = new int[20];
    array = fillArray(array);
    printArray(array);
    array = sortArray(array);
    printArray(array);
}

public static int[] fillArray(int[] array) {
    for (int i = 0; i < array.length; i++) {
        array[i] = (int) (1 + Math.random() * 99);

    }

    return array;
}

public static void printArray(int[] array) {
    for (int i = 0; i < array.length; i++) {
        if (i > 0) {
            System.out.print(" | ");
        }
        System.out.print(array[i]);

    }
}

public static int[] sortArray(int[] array) {

    Arrays.sort(array);
    return array;

}

}

2 个答案:

答案 0 :(得分:2)

您的代码确实有效。 (它确实对数组进行排序。)我相信你的困惑可能是因为printArray的未排序和排序的输出一起出现在同一行上,很难看到。在printArray方法的末尾添加换行符,结果将被清除:

System.out.println();

现在的输出是(例如):

78 | 42 | 88 | 11 | 40 | 64 | 37 | 78 | 42 | 35 | 77 | 33 | 33 | 5 | 89 | 12 | 32 | 86 | 24 | 79
5 | 11 | 12 | 24 | 32 | 33 | 33 | 35 | 37 | 40 | 42 | 42 | 64 | 77 | 78 | 78 | 79 | 86 | 88 | 89

编辑:根据您现在提供的错误消息,问题是Arraysjava.util包中的类,并且您尚未导入类或对其的限定访问权限。将此行放在文件的顶部:

import java.util.Arrays;

,当您调用该方法时,请使用所谓的“完全限定名称”:

java.util.Arrays.sort(array);

有关详细信息,请参阅Java教程中的Using Package Members

答案 1 :(得分:0)

实际上,您使用的代码正在运行。

您可以在main方法中进行一些更改,以便更清晰地在控制台中打印阵列。

    System.out.println("Before sorting...");
    printArray(array);
    array = sortArray(array);
    System.out.println("\nAfter sorting...");
    printArray(array);

运行示例如下:

Before sorting...
47 | 68 | 94 | 17 | 99 | 60 | 92 | 61 | 44 | 99 | 64 | 37 | 15 | 79 | 38 | 52 | 77 | 41 | 62 | 88
After sorting...
15 | 17 | 37 | 38 | 41 | 44 | 47 | 52 | 60 | 61 | 62 | 64 | 68 | 77 | 79 | 88 | 92 | 94 | 99 | 99