黑马程序员技术交流社区

标题: 为什么只运行了sortString(arr),而没有运行printArray(arr) [打印本页]

作者: azhuang    时间: 2015-10-28 23:23
标题: 为什么只运行了sortString(arr),而没有运行printArray(arr)
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;
        }

}
作者: azhuang    时间: 2015-10-28 23:24

F:\JAVA1010\day14>java StringTest_1
[abc, cba, haha, nba, qq, zz]

作者: 月明    时间: 2015-10-28 23:44
这个是运行了的 sortString方法按字典顺序比较元素顺序 当i索引的元素大于j索引的元素时 调用swap方法 这个方法将传入的两个元素互换 然后调用printArray方法 遍历数组 得出的顺序和之前不同
作者: azhuang    时间: 2015-10-28 23:56
月明 发表于 2015-10-28 23:44
这个是运行了的 sortString方法按字典顺序比较元素顺序 当i索引的元素大于j索引的元素时 调用swap方法 这个 ...

哦。。我了解了。如果我把下面printArray(arr)这个也关了,运行程序是没有结果输出的的,如果把printArray开了,就是遍历数组了。谢谢解析哈。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2