冒泡排序问题:编译没出现问题,调试中出现如图片的提示。求指出错误和解决办法!!!public class BubbleSortArray
{
public  void bubbleSort(int array[])
{
for(int i=0;i<array.length-1;i++)
{
for(int j=0;j<array.length-i-1;j++)
{
if(array[j]>array[j+1])
{
int tempe=array[j];
array[j]=array[j+1];
array[j+1]=tempe;
}
}
/*打印每次循环排序后数组元素*/
System.out.println("第"+(i+1)+"趟排序");
for(int k=0;i<array.length-1;k++)
{
System.out.print(array[k]+" ");
}
System.out.println();
}
}
public static void  main(String[]args)
{
int array[]=new int[]{9,4,3,5,7};
BubbleSortArray test=new BubbleSortArray();
test.bubbleSort(array);
}
}
Java

解决方案 »

  1.   

    for(int j=0;j<array.length-i-1;j++)
    改成for(int j=i+1;j<array.length;j++)
      

  2.   

    for(int i=0;i<array.length-1;i++)
     {
     for(int j=i+1;j<array.length;j++)
     {
     if(array[i]>array[j])
     {
     int tempe=array[i];
     array[i]=array[j];
     array[j]=tempe;
     }
     }
      

  3.   

    快速排序算法  http://blog.csdn.net/aalansehaiyang52/article/details/8392934
      

  4.   

    不知道楼主修改好了没public class BubbleSortArray {

    public void bubbleSort(int array[]) {
    for(int i=0;i<array.length;i++) {     
    for(int j=0;j<i;j++) {
    if(array[j]>array[j+1]){
    int tempe=array[j];
    array[j]=array[j+1];
    array[j+1]=tempe;
    }
    }
    //打印每次循环排序后数组元素
    System.out.println("第"+(i+1)+"趟排序");
    for(int k=0;k<array.length;k++) {
    System.out.print(array[k] +" ");
    }
    System.out.println();
    }
    }

    public static void  main(String[]args) {
    int array[]=new int[]{9,4,3,5,7};
    BubbleSortArray test=new BubbleSortArray();
    test.bubbleSort(array);
    }
    }楼主大概第四行的第五行还有第14行for循环里边参数k<array.length
      

  5.   

    package com.myclass;public class BubbleSortArray { public void bubbleSort(int array[]) {
    int j = 0;
    for (int i = 0; i < array.length; i++) {
    for ( j =i+1; j < array.length; j++) {
    if (array[i] > array[j]) {
    int tempe = array[i];
    array[i] = array[j];
    array[j] = tempe;
    }
    }
    /* 打印每次循环排序后数组元素 */
    System.out.print("第" + (i + 1) + "趟排序:");
    for (int k = 0; k < array.length ; k++) {
    System.out.print(array[k] + " ");
    }
    System.out.println();
    }
    } public static void main(String[] args) {
    int array[] = new int[] { 9, 4, 3, 5, 7 };
    BubbleSortArray test = new BubbleSortArray();
    test.bubbleSort(array);
    }
    }
      

  6.   

    18行for(int k=0;i<array.length-1;k++)  里面的判断语句变量写错了