我想创建一个允许用户输入数字x的程序。数字x将确定用户输入的整数数量。允许用户根据所需的数字输入输入整数,并将它们存储在数组中。另外,显示数字的降序和索引,而不会破坏原始数组位置中的值。
我已经知道如何按降序对它们进行排序,但这需要在数组中移动值。从输入存储在数组中的值开始索引到0到array.length-1之前,我不按降序排列保留索引的方法。
Example:
Enter a number: 4
Enter 4 numbers:
8
13
2
15
Output:
15 at array[3]
13 at array[1]
8 at array[0]
2 at array[2]
答案 0 :(得分:1)
试试这个:
public static void sortArray () {
Scanner in = new Scanner(System.in);
System.out.print("Enter a number: ");
int n = in.nextInt();
int lst[][] = new int[n][2];
System.out.println("Enter " + n + " numbers:");
for(int i=0;i<n;i++) {
lst[i][0]=in.nextInt();
lst[i][1]=i;
}
for (int i=0;i<n-1;i++)
for (int j=i+1;j<n;j++)
if (lst[i][0]<lst[j][0]) {
int[] tmp = lst[i];
lst[i]=lst[j];
lst[j]=tmp;
}
for(int i=0;i<n;i++) {
System.out.println(lst[i][0]+" at array ["+lst[i][1]+"]");
}
}