gpt4 book ai didi

java - 防止重复的扫描仪用户输入

转载 作者:行者123 更新时间:2023-12-01 13:11:17 25 4
gpt4 key购买 nike

我正在编写的这个程序让我感到不舒服。我想要做的是防止用户两次输入相同的整数。该程序接受 4 个 int 输入,并将它们与 4 个随机 int 的数组进行比较,搜索匹配项。这是我迄今为止尝试防止多重输入的尝试。

for (int z = 0; z<4; z++){
System.out.println("Enter a number between 0-9. No duplicates please!");
temp[z] = inputDevice.nextInt();

for(int why = 0; why<temp.length; why++){
if(Arrays.asList(temp).contains(temp[z])){
System.out.println("Duplicate found! Please enter a non-repeating digit");
temp[z]=0;
z--;
}
}


}

输入很好地进入临时数组。并被传递给程序中的其他方法,这正在起作用。我猜问题出在我的条件语句 - if(Arrays.asList(temp).contains(temp[z]))

是否有更好的方法来测试数组是否已包含值?

提前致谢。

最佳答案

1) 由于您要将数组转换为列表,因此不妨使用 ArrayList

2) 将您的输入存储在变量中并测试它是否已包含在列表中

List<Integer> my_list = new ArrayList<Integer>();
for (int z = 0; z<4; z++){
System.out.println("Enter a number between 0-9. No duplicates please!");
int input = inputDevice.nextInt();
if(my_list.contains(input)){
System.out.println("Duplicate found! Please enter a non-repeating digit");
z--;
}
else{
my_list.add(input);
}
}

关于java - 防止重复的扫描仪用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22848198/

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