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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

(1)定义一个int类型的一维数组,内容为{6,2,9,6,1,2,6,7,8}
(2)去除上面定义的数组中的重复元素,打印最终结果{6, 2, 9, 1, 7, 8}

//想了一天,都没想出来,一直缺点什么

7 个回复

正序浏览
就是,楼上说得好有道理我竞无言以对
回复 使用道具 举报
有问题的 数组有0不可以当时没想到
回复 使用道具 举报
创建一个新的数组 根据下标判断。
class Demo_Change {
        public static void main(String[] args) {
                System.out.println("Hello World!");
                int a[]=new int[] {6,2,9,6,1,2,6,7,8};
                int count=0;
        a:        for(int i=0;i<a.length;i++){
                        for(int j=i+1;j<a.length;j++){
                                if(a[i]==a[j]){
                                        count++;
                                        continue a;
                                }
                        }
                }
                int newArr[] = new int[a.length-count];
                int index=0;
                //boolean flag=false;
        b:        for(int i =0;i<a.length;i++){
                        boolean flag=false;
                        for(int j=0;j<newArr.length;j++){
                                if(a[i]==newArr[j]){
                                        flag=true;
                                        continue b;
                                }
                        }
                        if(flag==false){
                                newArr[index++]=a[i];
                        }
                }
                for(int i=0;i<newArr.length;i++){
                        System.out.print(""+newArr[i]);
                }
       
       
       
        }
       

}

点评

懂了,很强 谢谢  发表于 2016-7-26 22:25
大神,能帮我注释一波吗?看着有点晕.  发表于 2016-7-26 22:04
回复 使用道具 举报
class Test3_Array {
        public static void main(String[] args) {
                int[] arr = {6,2,9,6,1,2,6,7,8};
                int count=num(arr);
                int[] arr1 = new int[arr.length-count-1] ;
                System.out.println(count);
                num1(arr,arr1);
                for (int s=0;s<arr1.length ;s++ ) {
                        System.out.print(arr1[s]+" ");
                }
        }
                //System.out.print("{");
                //System.out.print(arr[0]);
        public static int num(int[] arr){
                int count=0;
                for (int i=0;i<arr.length ;i++ ) {
                        for (int j=0;j<i ;j++ ) {
                                if (arr[i]==arr[j]) {
                                        System.out.println(i);
                                        count++;
                                         continue;       
                                }
                                //int[] arr1=new arr1[count];
                        }       
                }
                return count;
        }
        public static void num1(int[] arr,int[] arr1){
                int count1=0;
                for (int i=0;i<arr.length ;i++ ) {
                        for (int j=0;j<i ;j++ ) {
                                if (arr[i]==arr[j]) {
                                        arr1[count1]=arr[i];
                                                count1++;
                                         continue;       
                                }
                                //int[] arr1=new arr1[count];
                        }       
                }
        }
}
我感觉应该是我思路出了问题,求大神帮助

点评

实在是想到脑子都要浆糊了  发表于 2016-7-26 21:29
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马