import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n,a=101;
int t;
for (int l = 0; l < a; l++) {
n = s.nextInt();
int[] x = new int[n];
if(n!=0){
for (int i = 0; i < n; i++) {
x[i]=s.nextInt();
}
}else{
break;
}
for(int i = 0;i<x.length-1;i++){
for(int j=i+1;j<x.length;j++){
if (Math.abs(x[i])>Math.abs(x[j])){
t = x[i];
x[i] = x[j];
x[j] = t;
}
}
}
for (int i = x.length-1; i >=0 ; i--) {
System.out.print(x[i]+" ");
}
System.out.println();
}
}
}
不知道你的程序要做什么。如果要输入多组数据,最好还是从文件读取。因为用户输入一旦输错了,就很难修改,而且每次都要重新输入。
这种是一次输入比较好点,按字符串,这样比较易操作一些
public static void main(String[] argv) {
Scanner s = new Scanner(System.in);
// int n,a=101;
// int t;
// for (int l = 0; l < a; l++) {
// n = s.nextInt();
// int[] x = new int[n];
//
// if(n!=0){
// for (int i = 0; i < n; i++) {
// x[i]=s.nextInt();
// }
// }else{
// break;
// }
System.out.print("请输入数字,以逗号隔开,如 1,2,3,4,5 按回车结束");
String n = s.next();
String t;
String x[] = n.split(",");
for(int i = 0;i<x.length-1;i++){
for(int j=i+1;j<x.length;j++){
if (Math.abs(Integer.valueOf(x[i]))>Math.abs(Integer.valueOf(x[j]))){
t = x[i];
x[i] = x[j];
x[j] = t;
}
}
}
for (int i = x.length-1; i >=0 ; i--) {
System.out.print(x[i]+" ");
}
System.out.println();
}