可以说我的输入为[10,8,6,15,2,-1]
输出应为[15,10,8,15,6,2]
我写了一组代码:
public static void main(String[] args) {
int[] unsortesArray=new int[]{10,8,6,15,2,-1};
int len=unsortesArray.length;
for(int i=0;i<len; i++){
for(int j=0; j<len; j++){
if(unsortesArray[i]<unsortesArray[j]){
unsortesArray[i]=unsortesArray[j];
}
}
System.out.println(unsortesArray[i]);
}
}
但没有得到预期的输出。请提出解决方案。
最佳答案
您需要交换两个数字:
public static void main(String[] args) {
int[] unsortesArray=new int[]{10,8,6,15,2,-1};
int len=unsortesArray.length;
for(int i=0;i<len; i++){
for(int j=i+1; j<len; j++){
if(unsortesArray[i]<unsortesArray[j]){
int temp = unsortesArray[i]; // create a temp var to store the value you are going to swap
unsortesArray[i]=unsortesArray[j]; // swap the value
unsortesArray[j] = temp; // save it back again in the array
}
}
System.out.println(unsortesArray[i]);
}
}