以下数组是按升序排列的, 我想在让它降序排列,请问该怎么做呢
import java.util.*;
class Test{
 
public static void main(String[] args){
  int[] a=new int[]{21,31,1,9,5,10};
  Arrays.sort(a);
  for(int i=0;i<a.length;i++){
  System.out.println(a[i]);
  }
}
}

解决方案 »

  1.   

    你把它依次push到栈里面,然后一个一个pop就可以了
      

  2.   

    for(int i=a.length-1;i>=0;i--){
      System.out.println(a[i]);
      }
      

  3.   

    倒过来输出或倒过来赋值都行
    class Test{
     
    public static void main(String[] args){
      int[] a=new int[]{21,31,1,9,5,10};
      Arrays.sort(a);
      for(int i=a.length;i>=0;i--){
      System.out.println(a[i]);
      }
    }
    }
      

  4.   

    自己写一个static的降序方法,调用一下 以后用也方便
    import java.util.*;
    class Test{

    static public void lower(int arr[]){
    int i,j,temp;
    for(i=0;i<arr.length-1;i++){
    for(j=0;j<arr.length-i-1;j++){
    if(arr[j]<arr[j+1]){
    temp = arr[j];
    arr[j] = arr[j+1];
    arr[j+1] = temp;
    }
    }
    }
    }

     
    public static void main(String[] args){
      int[] a=new int[]{21,31,1,9,5,10};
      //Arrays.sort(a);
    Test.lower(a);
      for(int i=0;i<a.length;i++){
      System.out.println(a[i]);
      }
    }
    }
      

  5.   

    static void sort(Object[] a, Comparator c)  
    自己实现Comparator 就可以自定义排序了
      

  6.   

    给一个使用Comparator的例子,不过,由于泛型不能使用int这样的简单类型,所以只能在Integer的基础上做了。这点,Java的泛型和C++的模版似乎还是有差别,模版是可以对简单类型操作的。
    import java.util.*;
    public class test {
        public static void main(String[] arg) throws Exception{
         Integer a[]={21,31,1,9,5,10};
         ComDown c=new ComDown();
         Arrays.sort(a,c);
         for(int i=0; i<a.length;i++) System.out.print(a[i]+"  ");
        }
    }
    class ComDown implements Comparator<Integer>{
        public int compare(Integer i1, Integer i2) {
         if(i1>i2) return -1;
         else if(i1<i2) return 1;
         return 0;
        }
    }
      

  7.   

    如果是基本类型数组 还是自己实现排序比较好~
    用Comparator 不方便~
      

  8.   

    import   java.util.*;
    class   Test{
     
    public   static   void   main(String[]   args){
      int[]   a=new   int[]{21,31,1,9,5,10};
      Arrays.sort(a,Comparator.reverseOrder());
      for(int   i=0;i <a.length;i++){
      System.out.println(a[i]);
      }
    }
    }