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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

分析以下需求,并用代码实现:
    (1)定义一个int类型的一维数组,内容为{6,2,9,6,1,2,6,7,8}
    (2)去除上面定义的数组中的重复元素,打印最终结果{6, 2, 9, 1, 7, 8}
    提示: (新建一个数组

8 个回复

正序浏览
{:3_56:}我只是来学习的
回复 使用道具 举报
我给你说一下基本的思想吧,就是遍历数组,将每个元素都进行比较如果相同就删除,然后将后面的元素迁移(在另一个for循环内),打印的时候,因为数组内的内容不为零,所以那,遍历数组的时候取值等于零,就不打印就好了啊
回复 使用道具 举报
本帖最后由 litianji2016 于 2016-9-19 19:42 编辑

[Java] 纯文本查看 复制代码
public static void main(String[] args) throws FileNotFoundException {
		int arr[]={6,2,9,6,1,2,6,7,8};
		Set set=new HashSet();
		for (int i=0;i<arr.length;i++) {
			set.add(arr[i]);
		}
		arr=new int[set.size()];
		Iterator it=set.iterator();
		int index=0;
		while(it.hasNext()){
			arr[index]=(int) it.next();
			index++;
		}
		for (int i : arr) {
			System.err.println(i);
		}
	}
回复 使用道具 举报
饭要大口吃 发表于 2016-9-19 15:03
还没学集合....才学到面向对象

我们先学的 集合后学的面对对象  用集合来写稍微多一点步骤  你看看  不懂哪里可以问我
回复 使用道具 举报
[Java] 纯文本查看 复制代码
public class Demo01 {
	public static void main(String[] args) {
		int[] arr={6,2,9,6,1,2,6,7,8};
		
		int[] brr=selectArr(arr);
		for (int i = 0; i < brr.length; i++) {
			System.out.println(brr[i]);
		}
	}
	public static  int[] selectArr(int[] arr){
		int[] brr=new int[arr.length];
		int count=0;
		for (int i = 0; i < arr.length; i++) {
			for (int j = 0; j < brr.length; j++) {
				//如果arr[i]和brr中新添加的元素挨个比较比较
				if(j<count&&arr[i]!=brr[j]){
					continue;
				}
				if(j<count&&arr[i]==brr[j]){
					break;
				}
				//如果都不相同brr添加新的元素arr[i]
				brr[count]=arr[i];
				count++;
				break;
				
				
			}
			
		}
		int[] crr=new int[count];
		for (int i = 0; i < crr.length; i++) {
			crr[i]=brr[i];
		}
		return crr;
	}
}

回复 使用道具 举报
学面向对象还没学集合么?ArrayList应该学了基础用法了吧。
回复 使用道具 举报
&天马星空ぁ 发表于 2016-9-19 00:23
学集合了么  ,学集合后定义一个集合,然后循环嵌套arr添加到数组加if判断语句与添加过的比较  相同不添加  ...

  还没学集合....才学到面向对象
回复 使用道具 举报
学集合了么  ,学集合后定义一个集合,然后循环嵌套arr[i]添加到数组加if判断语句与添加过的比较  相同不添加 然后打印集合
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马