Java 输入和输出数组

标签 java

正在开发一个 Java 程序,该程序读取带有一堆帐号的 txt 文件。用户输入帐号,如果匹配,则程序响应说它是有效的帐号,如果不匹配,则响应无效。这是我的类(class),它打开文件并检查它是否是有效的数字。当我运行代码时,即使我正在测试的帐号有效,它总是返回说帐号无效。

public class Validator {

    public boolean isValid(int number) throws IOException {


        final int SIZE = 17;
        int[] numbers = new int[SIZE];
        boolean found = false;
        int index = 0;


        File file = new File("src/Accounts.txt");
        Scanner inputFile = new Scanner(file);

        while (inputFile.hasNext() && index < numbers.length) {

            numbers[index] = inputFile.nextInt();
            index++;

        }

        while (!found && index < SIZE) {

            if (numbers[index] == (number))
                found = true;
            else
                index++;
        }
        return found;
    }
}

最佳答案

您应该在第二次循环之前将索引重置回 0。否则,将不会进入第二个循环,因为第一个循环已经将 index 递增到超过从文件读取的最后一个帐号的索引。

while (inputFile.hasNext() && index < numbers.length) {

    numbers[index] = inputFile.nextInt();
    index++;

}

index = 0; // add this

while (!found && index < SIZE) {

    if (numbers[index] == (number))
        found = true;
    else
        index++;
}
return found;

关于Java 输入和输出数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30062157/

相关文章:

java - 如何让 Spring @ControllerAdvice 与其他自定义 Spring @Aspect 一起工作?

java - 如何使 JPA @query 与包含另一个投影的投影一起使用

java - 双变量加减 12%

java - Android Studio - 应用程序不包括模拟器

java - ArrayList 中的不兼容类型错误,但两者都是 String

java - 否则没有 if - android studio/java

java - GAE Long 太长了有没有办法让 Long ID 变短?

java - 为什么 java swing drawLine 不正确宽度?

java - 用 Java 重写条件语句

java - 将数组列表转换为数组数组