public void sort (int [] a){

int temp=0;
for(int i=0;i<a.length-1;i++){
int min = a[i];
int minIndex=i;
for(int j=i+1;j<a.length;j++){
if(min>a[j]){
min=a[j];
minIndex=j;

}
if(minIndex!=i){
temp=a[minIndex];
a[minIndex]=a[i];
a[i]=temp;
}


}
}
}

解决方案 »

  1.   

    這裡要改這樣if(min>a[j]){
        min=a[j];
        minIndex=j;
    }else{
        minIndex=i;
    }
    不過氣泡排序法你做法太多餘了,這樣就可以了。public static void sort(int[] a) {
            int temp = 0;
            for (int i = 0; i < a.length - 1; i++) {
                for (int j = i+1; j < a.length; j++) {
                    if (a[i] > a[j]) {
                        temp = a[i];
                        a[i] = a[j];
                        a[j] = temp;
                    }
                }
            }
        }
      

  2.   

    if(min>a[j]){
        min=a[j];
        minIndex=j;
    }else{
        minIndex=i;
    }
    (變色失敗再貼一次)
      

  3.   

    public static void main(String[] args) {
    int[] a = {1,5,2,9,6,7};
    for(int i = 0 ; i < a.length; i ++) {
    System.out.print("   Main" + a[i] );
    }
    sort(a);
    }

    public static void sort (int [] a){
    int temp = 0;
    for(int i = 0; i < a.length; i++) {
    for(int j = i + 1; j < a.length; j ++) {
    if(a[i] > a[j]) {
    temp = a[i];
    a[i] = a[j];
    a[j] = temp;
    }
    }
    }

        System.out.println();
    for(int i = 0 ; i < a.length; i ++) { System.out.print("   sort" + a[i]);
    }
     }