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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 1294668228 中级黑马   /  2016-3-29 11:55  /  477 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class 冒泡排序
{
        public static void main(String[] args)
        {
               
       
        int[] arr = {33,4,55,6,77};
            sort(arr);
            for(int a=0; a< arr.length;a++)
            {
                    System.out.println(arr[a]);
            }
        }
        public static void sort(int[] arr)
        {
       
                for(int i = 0;i<arr.length - 1;i++)
                {
                        for(int j = 0;j<arr.length - 1 - i;j++)
                        {
                                if(arr[j] > arr[j+1])
                                {
                                        int temp =arr[j];
                                        arr[j] = arr[j+1];
                                        arr[j+1] = temp;
                                }
                        }
                 }
        }
}
——————————————————————————————————
public class 冒泡排序
{
        public static void main(String[] args)
        {
               
       
        int[] arr = {33,4,55,6,77};
            sort(arr);
            for (int a : arr)
                {
                        System.out.println(arr[a]);
                }
        }
        public static void sort(int[] arr)
        {
       
                for(int i = 0;i<arr.length - 1;i++)
                {
                        for(int j = 0;j<arr.length - 1 - i;j++)
                        {
                                if(arr[j] > arr[j+1])
                                {
                                        int temp =arr[j];
                                        arr[j] = arr[j+1];
                                        arr[j+1] = temp;
                                }
                        }
                 }
        }
}
第二种方法出错了,第一种和第二种的唯一差别就在遍历数组的方法上,谁能告诉我为啥错,难道数组不能用增强for循环遍历吗?

3 个回复

倒序浏览
for (int a : arr)
                {
                        System.out.println(arr[a]);
                }

第二种方式里,a就是数组的元素.不是索引.直接 System.out.println(a);  就可以了,试试
回复 使用道具 举报
蓝色小宇宙 发表于 2016-3-29 12:03
for (int a : arr)
                {
                        System.out.println(arr[a]);

懂了懂了 不用试了
回复 使用道具 举报
把索引搞混了吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马