gpt4 book ai didi

java - java中的升序和降序数字顺序

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:56:14 27 4
gpt4 key购买 nike

我在 java 中执行升序和降序订单号,这是我的代码:

System.out.print("Enter How Many Inputs: ");
int num1 = Integer.parseInt(in.readLine());
int arr[] = new int[num1];

for (int i = 0; i<num1; i++) {
System.out.print("Enter Value #" + (i + 1) + ":");
arr[i] =Integer.parseInt(in.readLine());
}

System.out.print("Numbers in Ascending Order:" );

for(int i = 0; i < arr.length; i++) {
Arrays.sort(arr);
System.out.print( " " +arr[i]);
}

System.out.println(" ");
System.out.print("Numbers in Descending Order: " );

目前,代码生成以下内容:

Enter How Many Inputs: 5
Enter Value #1:3
Enter Value #2:5
Enter Value #3:6
Enter Value #4:11
Enter Value #5:2
Numbers in Ascending Order: 2 3 5 6 11
Numbers in Descending Order:

因此,Arrays.sort(arr) 调用似乎有效 - 但我正在寻找一种类似的简单方法来提供降序排序,但在文档中找不到它。有什么想法吗?

最佳答案

我想到了三种可能的解决方案:

1。颠倒顺序:

//convert the arr to list first
Collections.reverse(listWithNumbers);
System.out.print("Numbers in Descending Order: " + listWithNumbers);

2。向后迭代并打印它:

Arrays.sort(arr);
System.out.print("Numbers in Descending Order: " );
for(int i = arr.length - 1; i >= 0; i--){
System.out.print( " " +arr[i]);
}

3。用“相反”比较器对其进行排序:

Arrays.sort(arr, new Comparator<Integer>(){
int compare(Integer i1, Integer i2) {
return i2 - i1;
}
});
// or Collections.reverseOrder(), could be used instead
System.out.print("Numbers in Descending Order: " );
for(int i = 0; i < arr.length; i++){
System.out.print( " " +arr[i]);
}

关于java - java中的升序和降序数字顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12656753/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com