public static void main(String[] args) {
int [] age={69,29,78,53,90,10,89,30,80,25,29,50,83,87,99,50};
int even=0;//声明一个变量为偶数的长度
int odd=0;//声明一个变量为奇数的长度
//分出奇数跟偶数
for(int j=0;j<=age.length-1;j++){
for(int i=age.length-1;i>j;i-- ){
if(age[i]%20&&age[j]!=0){
int a=age[j];
age[j]=age[i];
age[i]=a;
}
}
//找出偶数的长度
while(age[even]%20){
age[even]=age[j];
even++;
break;
}
}
for(int i=0;i<even;i++){//把偶数的集合进行降序排列
for(int j=i;j<even;j++){
if(age[i]<age[j]){
int a=age[i];
age[i]=age[j];
age[j]=a;
}
}
}
for(int i=even;i<=age.length-1;i++){//把奇数的集合进行降序排列
for(int j=even;j<=age.length-1;j++){
if(age[i]>age[j]){
int a=age[i];
age[i]=age[j];
age[j]=a;
}
}
}
for(int j=0;j<=age.length-1;j++){
System.out.print(age[j]+",");
}
}
}
我是用结果反推的降序,没有用冒泡,思考了很久也没有理解为什么不是升序,哪位大神可以解释一下,为什么这样的两个for循环会是降序排列。