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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

2.分析以下需求,并用代码实现:(目前尝试完成,学完集合使用集合完成)
        (1)定义一个int类型的一维数组,内容为{6,2,9,6,1,2,6,7,8}
        (2)去除上面定义的数组中的重复元素,打印最终结果{6, 2, 9, 1, 7, 8}

public class Test5 {

        public static void main(String[] args) {

                int[] arr = new int[]{6,2,9,6,1,2,6,7,8};
                //定义一个变量记录数组的长度
                int b = arr.length;
                //定义循环拿到数组中的每一个元素
                for (int i = 0; i < b; i++) {
                        //定义循环拿到arr[i]之后数组中的每个元素
                        for (int j = i + 1; j < b; j++) {
                                //判断arr[i]与其之后的元素是否相等,不相等就不用操作,继续循环判断
                                if(arr[i] == arr[j]) {
                                        //相等就将后面的数都向前挪一位
                                        for (int k = j; k < b - 1; k++) {
                                                arr[k] = arr[k + 1];
                                        }
                                        //元素向前挪一位,其实这个元素还没与arr[i]比较是否相等,所以让索引先向前挪一位,因为之后循环还有j++,指针会再指向这个元素
                                        j--;
                                        //元素向前挪一位,那么数组的长度就应该少一位
                                        b--;
                                }
                        }
                }
                //先打印一个左大括号 {
                System.out.print("{");
                //打印数组除去最后一个元素的所有元素,并在每个元素后面添加上逗号 ,
                for (int i = 0; i < b - 1; i++) {
                        System.out.print(arr[i] + ",");
                }
                //打印素组的最后一个元素,并在末尾加上右大括号 }
                System.out.print(arr[b - 1] + "}");

        }
}

1 个回复

倒序浏览
黑马新人 第一次发技术贴  沙发自己坐了   基础班刚上5天,刚学到数组,老师出的变态作业题,想了接近两个小时才做完
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马