为什么这个代码可以运行 但运行后报错啊,另外谁还有好点的冒泡方法 我觉得我这个冒泡有点问题
public class testmaopao { public static void main(String[] args) {
int [] a={5,3,2,7,6,1,8,9,0};
for(int i =0;i<=a.length;i++){
for(int j=i+1;j<=a.length;j++)
{
if(a[i]>a[j])  //提示这块有错误哦
{
int team =a[i];
a[i]=a[j];
a[j]=team;
}
}

}
for(int b=0;b <a.length;b++) 

System.out.println("a["+b+"]="+a[b]+"  "); 

}  } 

解决方案 »

  1.   

      for (int i = 0; i < a.length; i++) {
                for (int j = i + 1; j < a.length; j++) {
    <=把=去掉.
      

  2.   

    for循环的结束有问题,2楼正解,一般情况应该是下标越界的错误吧,呵呵~~
      

  3.   

    public class BubbleSort {

    public BubbleSort(int[] array) {
    int i, j, temp;

    boolean changeFlag = false;

    for(i = array.length; (i > 0 && !changeFlag); i--) {
    for(j = 0, changeFlag = true; j < i - 1; j++) {
    if(array[j] > array[j + 1]) {
    temp = array[j];
    array[j] = array[j + 1];
    array[j + 1] = temp;
    changeFlag = false;
    }
    }
    }
    for(int k = 0; k < array.length; k++) {
    System.out.print(array[k] + " ");
    }
    }

    public static void main(String[] args) {
    int[] array = new int[]{1, 3, 6, 7, 8, 9, 2, 0, 5, 4};
    new BubbleSort(array);
    }
    }