java - 程序打印出对数组中每个字符的响应,只需打印一次是否找到该值

标签 java arrays

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/

相关文章:

java - 问题arrayList类

java - Appcompact 21.0.3 addOnPageChangeListener 错误

java - 简单日期格式

JavaFX FileRader 读取行 gui 显示计数器

javascript - 将数组形式的字符串转换为实际数组

Java - 比较一组值

java - Spring AOP 创建额外的 bean

JavaScript 密码生成器 - 数组中的多个随机值

javascript - 在Processing.js中,如何声明对象类型和对象数组?

C 编程。读取输入并将其解析为单词