Java把一个数组中重复的元素去除,但保留第一个,明天交作业,急急急!!!!!!望大神帮助debug

题目要求去除一个数组中重复项,但保留第一个元素。下面是我写的代码。这个程序输入1232163452就会输出1231645没法去除结果中的第二个1importjava.ut... 题目要求去除一个数组中重复项,但保留第一个元素。下面是我写的代码。
这个程序输入1 2 3 2 1 6 3 4 5 2就会输出1 2 3 1 6 4 5
没法去除结果中的第二个1
import java.util.Scanner;
public class eliminate {
public static void main (String args []){
System.out.println("Enter ten numbers : ");
int[] a = new int [10];

import java.util.Scanner;
public class eliminate {
public static void main (String args []){
System.out.println("Enter ten numbers : ");
int[] a = new int [10];
Scanner reader = new Scanner(System.in);
for(int i = 0;i<10;i++){
a[i]=reader.nextInt();
}
System.out.print("The distinct numbers are: "+a[0]);
int n = 1;
int b = 0;
while (n < a.length){
if (a[n]==a[b]){
n+=1;
}else{
b+=1;
if(b == n){
System.out.print(" "+a[n]);
b = 0;
n+=1;
}
}
}
}

}
展开
 我来答
千古人文
2018-10-20 · TA获得超过388个赞
知道小有建树答主
回答量:233
采纳率:93%
帮助的人:88万
展开全部
package com.equals.test;

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;

public class Circle {


    public static void main(String args[]) {
        System.out.println("Enter ten numbers : ");
        int[] a = new int[10];
        Scanner reader = new Scanner(System.in);
        for (int i = 0; i < 10; i++) {
            a[i] = reader.nextInt();
        }
        reader.close();
         //保留第一个
         System.out.println("The first is :"+ a[0]);
        System.out.println("The distinct numbers are: ");
        Set<Integer> num = new HashSet<Integer>();
        for(Integer n : a) {
            num.add(n);
        }
        for(Integer n : num) {
            System.out.println(n);
        }
    }

}

追问
那我写的错误在哪呢?
我运行的有些数组也可以输出正确答案,但是有时候就不行。。。。
大佬救救孩子。。。
追答
你本身这个算法就是错误的。没有办法标记哪些数据是已存的,你如果想使用数组,那就使用两个数组,一个一个放到另外一个数组,放之前检测一下是否已存在,最后输出新数组的值。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式