黑马程序员技术交流社区

标题: java小程序问题 [打印本页]

作者: 敏敏好学    时间: 2014-9-15 17:26
标题: java小程序问题
”数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}“   这是基础测试时的一道题,下面是我的答案,当时想了很久才做出来,还有没有更好的答案?
public class Text8 {
/**
* 8、 数组去重复,例如: 原始数组是{4,2,4,6,1,2,4,7,8},得到结果{4,2,6,1,7,8}
*/
        public static void main(String args[]){
                 int x=0;
                //定义一个数组
                int arry[]=new int[] {11,4,5,8,5,6,11,12,12,31,5};
               
                //遍历整个数组,查找相同的数,用x标记
                for(int i=0;i<arry.length;i++)                       
                {
                        for(int k=i+1;k<arry.length;k++)
                        {
                                if(arry[i]==arry[k])
                                        x=i;                               
                        }
                        //输出没有被x标记的数组
                    if(i!=x)
                      System.out.print(arry[i]+"  ");
                }
        }
}

作者: 敏敏好学    时间: 2014-9-15 17:27
求大神啊!!!
作者: 花开彼岸天    时间: 2014-9-15 17:48
你这样还得新定义一个数组  
public class Test8 {

        public static void main(String[] args){
                int in[]={4,2,4,6,1,2,4,7,8};
                //根据LinkedHashSet的特点,将数组in添加到set中,依据无重复特点实现
                Set set=new LinkedHashSet();
                for(int i=0;i<in.length;i++){
                        System.out.println(in[i]);
                        set.add(in[i]);                       
                }       
                Iterator it=set.iterator();
                while(it.hasNext()){
                        System.out.println(it.next());
                }
        }
}

作者: yuli2039    时间: 2014-9-15 18:45
花开彼岸天 发表于 2014-9-15 17:48
你这样还得新定义一个数组  
public class Test8 {

用set集合去重固然是好,但是题目要求结果还得是个数组!记得toArray();
作者: 备战    时间: 2014-9-15 18:56
顶一个。。




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