gpt4 book ai didi

java - 不接受数组中相同的输入

转载 作者:行者123 更新时间:2023-12-02 02:40:53 28 4
gpt4 key购买 nike

我正在尝试制作一个不接受用户输入重复项的程序。如果用户从数组中输入相同的整数,则会出错或打印出已输入的整数。

Scanner input = new Scanner(System.in);

int[] arr = new int[5];
int[] dup = new int[5];
int duplicate;

for ( int i = 0 ; i < arr.length; i++ )
{
System.out.println ("Enter integer: ");
arr[i] = input.nextInt();

if((arr[i] >=10) && (arr[i] <=100))
{
System.out.printf("Output: %d\t",arr[i]);

for(int j = 0 ; j < arr[i] ; j++)
{
if(dup[j] == arr[i])
{
dup[j] = arr[i];
duplicate = dup[j];
}

}
}
else
{
System.out.println ("enter number between 10-100");
}

}

我希望得到

输入整数:10输出:10

输入整数:20输出:10 20

输入整数:10

没有重复输出:10 20

最佳答案

您可以使用 set 删除重复值并仅打印原始值。

 int Numbers[] = new int[10];
Set<Integer> set = new HashSet<>();
Scanner Number = new Scanner(System.in);
for(int i=0; i < Numbers.length; i++){
System.out.print("Enter an integer: ");
Numbers[i]= Number.nextInt();
set.add(new Integer(Numbers[i]));

if(i == Numbers.length) {
break;
}

}
System.out.println("Distinct Values " + Arrays.toString(set.toArray()));

I/P == 10,10,10,10,20,20,50,30,30,30O/P == 10,20,50,30

关于java - 不接受数组中相同的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57180312/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com