4 回答
TA贡献1921条经验 获得超9个赞
您的行Arrays.sort(i,Collections.reverseOrder());不会编译,因为数组不是集合。使用 aList而不是数组并像这样使用它:
public static void main(String[] argu) {
List<Integer> i = new ArrayList<>();
Scanner sc = new Scanner(System.in);
for (int j = 0; j <= 9; j++) {
i.add(Integer.valueOf(sc.nextLine()));
}
System.out.println("Sorted:");
Collections.sort(i);
i.forEach(System.out::println);
System.out.println("\nReversed:");
Collections.sort(i, Collections.reverseOrder());
i.forEach(System.out::println);
}
TA贡献1891条经验 获得超3个赞
Arrays.sort(i, Collections.reverseOrder())
不适用于原语。如果您需要使用上述方法进行排序,请尝试将值读取为Integer
not int
。
如果您需要使用原语,请使用一个简单的比较器并将其传递给Arrays.sort()
或使用如下所示的内容:Collections.sort(i, (int a, int b) -> return (b-a));
TA贡献1877条经验 获得超1个赞
或者使用流:
i = Arrays.stream(i).boxed() .sorted(Comparator.reverseOrder()) .mapToInt(Integer::intValue) .toArray()
添加回答
举报