java数组排序问题

随机生成一个1~9的10个数的数组,并进行升序排列,我只做到了随机生成,请问如何用最好的方法进行排序。
public class Test{

public static void main(String args[]){
int[] num=new int[10];
for(int i=0;i<num.length;i++){
num[i]=(int)(Math.random()*10+1);
System.out.print(num[i]+" ");
}
我想用Arrays.sort()方法排序,但总是有错误,应该怎么写进我那段代码才能正确的输出排序后的结果呢?

用Arrays.sort(num)就能排序了。。Arrays是个java内部类,导入包就好了,用法就前面那句话,它就自动排序了

public static int[] bubbleSort(int[] args){//冒泡排序算法
                for(int i=0;i<args.length-1;i++){
                        for(int j=i+1;j<args.length;j++){
                                if (args[i]>args[j]){
                                        int temp=args[i];
                                        args[i]=args[j];
                                        args[j]=temp;
                                }
                        }
                }
                return args;
        }
        
 public static int[] selectSort(int[] args){//选择排序算法
                for (int i=0;i<args.length-1 ;i++ ){
                        int min=i;
                        for (int j=i+1;j<args.length ;j++ ){
                                if (args[min]>args[j]){
                                        min=j;
                                }
                        }
                        if (min!=i){
                        int temp=args[i];
                        args[i]=args[min];
                        args[min]=temp;        
                        }
                }
                return args;
        }   
        
   public static int[] insertSort(int[] args){//插入排序算法
                for(int i=1;i<args.length;i++){
                        for(int j=i;j>0;j--){
                                if (args[j]<args[j-1]){
                                        int temp=args[j-1];
                                        args[j-1]=args[j];
                                        args[j]=temp;        
                                }else break;
                        }
                }
                return args;
        }

追问

谢谢,我想用Arrays.sort()方法排序,但总是有错误,应该怎么写进我那段代码才能正确的输出排序后的结果呢?

追答

什么错误,这个方法排整型数组应该没问题啊

追问

我是这样用的,结果显示乱码,正确的用法应该是怎样的呢?万分感谢。

追答for(int i=0;i<num.length;i++){
System.out.print(num[i]+" ");
}

 你那样输出的是num数组对象的存储地址,就是串乱码

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-23
放入TreeSet集合里不就自动升序了么
第2个回答  2015-04-23
Collections.sort(num);//对数组排序
第3个回答  2015-04-23
Arrays.sort();追问

这个方法具体应该怎么用呢?谢谢