import java.util.Scanner;
public class Array1{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] values = {1, 2, 3, 4, 5};
System.out.println("Please enter an integer:");
int userInput = input.nextInt();
for (int i = 0; i < values.length; i++) {
if (values[i] == userInput) {
System.out.println("value found!");
} else {
System.out.println("value not found!");
}
}
}
}
所以假设用户输入3,我希望它只打印一次找到的值,但它会打印出来,或者如果用户输入数字而不是数组,我希望它只打印一次未找到的值而不是对数组中的每个数字重复它。我只是想比较用户输入的数字,看看是否在数组中找到它。
value not found!
value not found!
value found!
value not found!
value not found!
最佳答案
我能想到的最简单的解决方案是使用标志。
boolean found = false;
for (int i = 0; i < values.length; i++) {
if(values[i] == userInput) {
found = true;
break; // can end the loop since value was found
}
}
if(found) {
System.out.println("value found!");
} else {
System.out.println("value not found!");
}
关于java - 程序打印出对数组中每个字符的响应,只需打印一次是否找到该值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55055294/