自己写的不知道错哪里了?
public class paix
{
void paixu()
{
int [] a={2,1,4,5,7,6};
for(int i=0;i<6;i++)
System.out.println("原数组为:"+a[i]);
int [] b=new int[6];
int temp=a[0];
for(int j=0;j<=5;j++)
{
flg:
for(int k=0,i=1;k<=5;k++,i++)
{
if (a[i-1]>a[i])
 temp=a[i];
   a[i]=a[i-1];
    a[i-1]=temp;
}
}
for(int i=0;i<=5;i++)
{
System.out.println("经过排序后的数组为:"+a[i]);
}
}
public static void main(String args[])
{
paix paix1=new paix();
paix1.paixu();
}
}

解决方案 »

  1.   

    for(int k=0,i=1;k<=5;k++,i++)
    if (a[i-1]>a[i])下标越界
    a[i]k=0;  a[1]
    k=1;  a[2]
    k=2;  a[3]
    k=3;  a[4]
    k=4;  a[5]
    k=5;  a[6]  //数组的下标是0-5
      

  2.   

    for(int i=0;i<6;i++)
    这句改为:
    for(int i=0;i<5;i++)
      

  3.   

    for(int i=0;i<5;i++)
    这样不就只有5个元素被了吗?我有6个。
      

  4.   


    for (int j = 0; j <= 5; j++) { for (int i = 0; i < 5; i++) { if (a[i + 1] > a[i]) {
    temp = a[i]; a[i] = a[i + 1];
    a[i + 1] = temp;
    }
    } }
      

  5.   

    for(int j=0;j<=5;j++)
    {
    for(int i=0;i<5;i++)
    {
    if (a[i]>a[i+1])
     temp=a[i+1];
       a[i+1]=a[i];
        a[i]=temp;
    }
    }
    您看下我该的是不是和您一个意思,但运行不出来。全是1
      

  6.   


    public class paix {
    void paixu() {
    int[] a = { 2, 1, 4, 5, 7, 6 };

    System.out.println("原数组为:");
    for (int i = 0; i < a.length; i++)
    System.out.print(a[i]+",");

    for(int i=0;i<a.length;i++){
    for(int j=i+1;j<a.length;j++){
    if(a[i] > a[j]){
    int temp = a[i];
    a[i] = a[j];
    a[j] = temp;
    }
    }
    }
    System.out.println();
    System.out.println("经过排序后的数组为:");
    for (int i = 0; i < a.length; i++) {
    System.out.print(a[i]+",");
    }
    } public static void main(String args[]) {
    paix paix1 = new paix();
    paix1.paixu();
    }
    }
      

  7.   


    public class paix {
    void paixu() {
    int[] a = { 2, 1, 4, 5, 7, 6 };

    System.out.println("原数组为:");
    for (int i = 0; i < a.length; i++)
    System.out.print(a[i]+",");

    for(int i=0;i<a.length;i++){
    for(int j=i+1;j<a.length;j++){
    if(a[i] > a[j]){
    int temp = a[i];
    a[i] = a[j];
    a[j] = temp;
    }
    }
    }
    System.out.println();
    System.out.println("经过排序后的数组为:");
    for (int i = 0; i < a.length; i++) {
    System.out.print(a[i]+",");
    }
    } public static void main(String args[]) {
    paix paix1 = new paix();
    paix1.paixu();
    }
    }