A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class StringTest_1
{
        public static void main(String[] args)
        {
                String[] arr = {"nba","abc","cba","zz","qq","haha"};
                //printArray(arr);
                sortString(arr);
                printArray(arr);
        }
        public  static void printArray(String[] arr)
        {       
                System.out.print("[");
                for(int i = 0; i<arr.length;i++)
                {
                        if(i!=arr.length-1)
                        System.out.print(arr[i]+", ");
                else
                        System.out.println(arr[i]+"]");
                }
        }
        public  static void sortString(String[] arr)
        {
                for(int i = 0;i<arr.length-1;i++)
                        for(int j= i+1;j<arr.length;j++)
                        {
                                if(arr[i].compareTo(arr[j])>0)
                                swap(arr,i,j);
                        }
        }

        public  static void swap(String[] arr, int i, int j)
        {
                String temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
        }

}

3 个回复

正序浏览
月明 发表于 2015-10-28 23:44
这个是运行了的 sortString方法按字典顺序比较元素顺序 当i索引的元素大于j索引的元素时 调用swap方法 这个 ...

哦。。我了解了。如果我把下面printArray(arr)这个也关了,运行程序是没有结果输出的的,如果把printArray开了,就是遍历数组了。谢谢解析哈。。
回复 使用道具 举报
这个是运行了的 sortString方法按字典顺序比较元素顺序 当i索引的元素大于j索引的元素时 调用swap方法 这个方法将传入的两个元素互换 然后调用printArray方法 遍历数组 得出的顺序和之前不同
回复 使用道具 举报

F:\JAVA1010\day14>java StringTest_1
[abc, cba, haha, nba, qq, zz]
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马