用Java语言编写设计问题描述:输入n(n《=100),按照绝对值从大到小排序后输出,题目保证对于每一个测试用例,所有数的绝对值都不相等。 输入格式:输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整
时间: 2023-11-20 14:19:46 浏览: 95
py代码-例2-1-2 输入一个整数,输出其绝对值
数。
Java代码如下:
```java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int n = scanner.nextInt();
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = scanner.nextInt();
}
Arrays.sort(nums, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return Math.abs(o2) - Math.abs(o1);
}
});
for (int num : nums) {
System.out.print(num + " ");
}
System.out.println();
}
scanner.close();
}
}
```
解释:
1. 首先,我们使用 Scanner 类从标准输入读取数据。
2. 然后,对于每组数据,我们先读取整数 n,然后读取 n 个整数存入数组 nums 中。
3. 接着,我们使用 Arrays.sort() 方法对 nums 数组进行排序,排序规则是按照绝对值从大到小排序。
4. 最后,我们遍历排序后的 nums 数组,依次输出每个元素。
注意,本题的输入数据有多组,因此我们需要使用 while 循环对每组数据进行处理。此外,我们还需要使用 Scanner.close() 方法关闭输入流。
阅读全文