继承我的代码:
public static void main(String[] args) {
System.out.println("Please enter the number of values you would like to enter: ");
Scanner scan = new Scanner(System.in);
int intNumberOfNumbers = scan.nextInt();
ArrayList <Integer> intArray = new ArrayList();
for (int i = 0; i < intNumberOfNumbers; i++) {
System.out.println("Please enter a value for index " + i + ":");
int intValue = scan.nextInt();
intArray.add(intValue);
}
System.out.println(intArray);
int intSortedArray = Arrays.sort(intArray);
}
我正在尝试对一个数组进行排序并环顾四周,看到人们使用Arrays.sort()所以我累了但是它一直给我一个错误。求救!
答案 0 :(得分:2)
以下是您的错误:int intSortedArray = Arrays.sort(intArray);
将其替换为Collections.sort(intArray);
答案 1 :(得分:1)
您将面临以下编译错误:
int intSortedArray = Arrays.sort(intArray);
Arrays.sort
会返回void
,因此您无法将其分配给变量
Arrays.sort及其重载也适用于基本类型的数组,因此无法处理ArrayList。因此,您最终会遇到编译错误。
请参阅Arrays.sort方法的documentation以了解正确的参数和返回类型。
然后,正确的排序方法是使用Collections.sort
。
答案 2 :(得分:1)
使用Collections
实用程序类sort()
方法,如下所示: -
public static void main(String[] args) {
System.out.println("Please enter the number of values you would like to enter: ");
Scanner scan = new Scanner(System.in);
int intNumberOfNumbers = scan.nextInt();
ArrayList <Integer> intArray = new ArrayList();
for (int i = 0; i < intNumberOfNumbers; i++) {
System.out.println("Please enter a value for index " + i + ":");
int intValue = scan.nextInt();
intArray.add(intValue);
}
System.out.println(intArray);
Collections.sort(intArray); // this will sort the Integer List
System.out.println("sorted list : "+intArray);
}
有关Collections.sort()
here的更多信息。