用Java实现问题描述:输入n(n《=100),按照绝对值从大到小排序后输出,题目保证对于每一个测试用例,所有数的绝对值都不相等。输入格式:输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据结束,不作处理。输出格式:对于每个测试用例,输出排序后的结果,两个数之间用一个空格隔开。每个测试用例占一行。输入样例:3 3 -4 24 0 1 2 -30输出样例:-4 3 2-3 2 1 0
时间: 2024-03-02 14:53:16 浏览: 58
以下是Java实现代码:
```java
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int n = scanner.nextInt();
if (n == 0) {
break;
}
Integer[] nums = new Integer[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);
}
});
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
sb.append(nums[i]).append(" ");
}
System.out.println(sb.toString().trim());
}
}
}
```
阅读全文