Java实现输入n(n《=100),按照绝对值从大到小排序后输出,题目保证对于每一个测试用例,所有数的绝对值都不相等。输入数据有多组,每组各占一行
时间: 2023-12-14 08:38:41 浏览: 90
以下是Java实现输入n(n《=100),按照绝对值从大到小排序后输出的代码:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int n = sc.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
Arrays.sort(arr, new Comparator<Integer>() {
public int compare(Integer o1, Integer o2) {
return Math.abs(o2) - Math.abs(o1);
}
});
for (int i = 0; i < n; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
}
}
```
思路解析:
1. 输入数据有多组,因此需要使用 while 循环进行输入和处理。
2. 对于每一组数据,首先读入 n 和 n 个数字,存储到数组 arr 中。
3. 使用 Arrays.sort 方法对 arr 进行排序,排序规则为按照绝对值从大到小排序。
4. 遍历排序好的数组 arr,输出每个元素。
注意事项:
1. 题目保证对于每一个测试用例,所有数的绝对值都不相等,因此不需要考虑相等的情况。
2. 排序规则需要按照绝对值从大到小排序,因此比较器中需要使用 Math.abs 方法求出每个元素的绝对值。
阅读全文