为什么这个代码可以运行 但运行后报错啊,另外谁还有好点的冒泡方法 我觉得我这个冒泡有点问题
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]+" ");
}
} }
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]+" ");
}
} }
for (int j = i + 1; j < a.length; j++) {
<=把=去掉.
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);
}
}