我需要知道如何消除同一数组中的重复数字。我只知道创建数组,从用户那里获取数据并打印出来。以下显示了我的进展:
import java.util.Scanner;
public class DuplicateElimination {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
int [] x = new int [10];
for (int i = 0; i < 10; i++){
System.out.println("Enter a number");
x[i] = scn.nextInt();
}
for (int i = 0 ; i<10 ; i++)
System.out.print(x[i] + " ");
}
}
真正的陈述是
编写一个方法,通过消除中的重复值来返回一个新数组 数组使用以下方法标题:
public static int[] eliminateDuplicates(int[] list)
编写一个读取十个整数的测试程序,调用该方法并显示 结果
答案 0 :(得分:3)
您可以使用java set
数据结构来消除重复项。将每个元素添加到集合中。它将消除重复
Set<Integer> set=new HashSet<Integer>();
set.add(1);
答案 1 :(得分:0)
在声明之后:
x[i] = scn.nextInt();
您可以循环遍历数组:
boolean isNumberFound = false;
for (int j =0; j<i; j++) {
if (lastNumberScanned == x[j]) {
isNumberFound = true;
break;
}
}
if (!isNumberFound)
x[i] = lastNumberScanned;
如果您不想坚持使用Arrays,那么我建议您使用Set数据结构,如:
Set<Integer> myset = new HashSet<>();
myset.add(scn.nextInt());