public class ArrSort
{
public static void main(String args[])
{
int a[]={3,8,5,6,2};
int tem;

  {  for( int i=0;i<a.length;i++)
  {if(a[i]>a[i+1])
  {tem=a[i];
   a[i]=a[i+1];
   a[i+1]=tem;
   System.out.println(a[i]+"");
  }
      }
  }
 } 
}
怎么改实在没想明白。

解决方案 »

  1.   


            int a[] = {3, 8, 5, 6, 2};
            boolean flag = true;
            int n = a.length;
            int temp;
            
            for(int i = 1; i < n && flag; i++)
            {
                flag = false;
                
                for(int j = 0; j < n - i; j++)
                {
                    if(a[j] > a[j + 1])
                    {
                        flag = true;
                        temp = a[j];
                        a[j] = a[j + 1];
                        a[j + 1] = temp;
                    }
                }
            }
      

  2.   

    public class ArrSort
    {
        public static void main(String args[]){
            int a[]={3,8,5,6,2};
            int tem;
          {  for( int i=0;i<a.length;i++)
              {if(a[i]>a[i+1])
                  {tem=a[i];
                   a[i]=a[i+1];
                   a[i+1]=tem;
                   System.out.println(a[i]+"");
                  }
          }
          }
         } 
    }

    要改为public class ArrSort
    {
        public static void main(String args[])
        {
            int a[]={3,8,5,6,2};
            int tem;
            for( int i=0;i<a.length;i++){
                  if(a[i]>a[i+1]){
                     tem=a[i];
                     a[i]=a[i+1];
                     a[i+1]=tem;
                  }
            }
            for(int j=0;j<a.length;j++){
              System.out.println(a[j]);
            }
        }
    }要把System.out.println(a[i]+"");放到for循环外面,这样才能最后打印出你的排序结果。
      

  3.   

    ...不知道楼主想干什么,你那个程序是冒泡排序的一半 。建议想排序的话,直接用Arrays.sort()好了,效率也很好,还能够进行对象的比较排序
      

  4.   

    好像不对吧,你这个。这样只会改变相临的那俩吧。。
    要用俩个for吧。
      

  5.   

    第一种。
    public class Test { public static void main(String[] args) {
    int a[] = { 3, 8, 5, 6, 2, 4, 8, 5, 9, 4 };
    for (int i = 0; i < a.length - 1; i++) {
    for (int j = i + 1; j < a.length; j++)
    if (a[i] > a[j ]) {
    int tem = a[i];
    a[i] = a[j];
    a[j] = tem;
    }
    }
    for (int value : a) {
    System.out.print(value + "  ");
    }
    }
    }
    第二种。
    public class Test { public static void main(String[] args) {
    int a[] = { 3, 8, 5, 6, 2, 4, 8, 5, 9, 4 };
    for (int i = 0; i < a.length; i++) {
    for (int j = 0; j < a.length - i - 1; j++)
    if (a[j] > a[j + 1]) {
    int tem = a[j];
    a[j] = a[j + 1];
    a[j + 1] = tem;
    }
    }
    for (int value : a) {
    System.out.print(value + "  ");
    }
    }
    }
      

  6.   


    public class Test {
    public static int[] sortArray(int[] a)
    {
    int tem;
    int len=a.length;
    for(int i=0;i<len-1;i++)
    {
    for(int j=0;j<len-1-i;j++)
    {
    if(a[j]>a[j+1])
    {
    tem=a[j];
    a[j]=a[j+1];
    a[j+1]=tem;
    }
    }
    }
    return a;
    }

    public static void main(String args[]) {
    int a[] = { 3, 8, 5, 6, 2 };

    int b[]=sortArray(a);

    for(int i=0;i<b.length;i++)
    {
    System.out.println(b[i]);
    }
    }
    }
      

  7.   


    你用的是新Foreach方法?挺不错的。
      

  8.   

    public class Test { public static void main(String[] args) { 
    int a[] = { 3, 8, 5, 6, 2, 4, 8, 5, 9, 4 }; 
    for (int i = 0; i < a.length - 1; i++) { 
    for (int j = i + 1; j < a.length; j++) 
    if (a[i] > a[j ]) { 
    int tem = a[i]; 
    a[i] = a[j]; 
    a[j] = tem; 


    for (int value : a) { 
    System.out.print(value + "  "); 


    } 第二种。 
    public class Test { public static void main(String[] args) { 
    int a[] = { 3, 8, 5, 6, 2, 4, 8, 5, 9, 4 }; 
    for (int i = 0; i < a.length; i++) { 
    for (int j = 0; j < a.length - i - 1; j++) 
    if (a[j] > a[j + 1]) { 
    int tem = a[j]; 
    a[j] = a[j + 1]; 
    a[j + 1] = tem; 


    for (int value : a) { 
    System.out.print(value + "  "); 


    }