java - 在 Java 简单程序中跳出 While 循环

标签 java eclipse while-loop

所以我的最终目标是我希望 while 循环仅在年龄输入不正确时起作用。 当我输入无效年龄(例如 200 岁)时,它会提示输入年龄,但当我输入有效年龄(例如 20 岁)时,它会反复提示。我该如何解决这个问题?

public static void main(String[] args)
{
    Scanner scan = new Scanner(System.in);
    final int MIN_AGE = 18, MAX_AGE = 65, MAX_POSSIBLE_AGE = 120;
    boolean inputErrorage = false;
    int age;

    System.out.println();
    System.out.print("\tEnter your age: ");

    age = scan.nextInt();

    if (age < 0 || age > MAX_POSSIBLE_AGE) {
        inputErrorage = true;
    }

    while (inputErrorage) {
        System.out.print("\tEnter your age: ");
        age = scan.nextInt();
    }

    if (!inputErrorage) {
        System.out.println("ok");
    }
}

最佳答案

while (inputErrorage) {

    System.out.print("\tEnter your age: ");
      age = scan.nextInt();


  }

您永远不会重置 inputErrorAge 的值,因此如果它曾经为真,它将保持为真。

while (inputErrorage) {

    System.out.print("\tEnter your age: ");
      age = scan.nextInt();

      inputErrorAge = (age < 0 || age > MAX_POSSIBLE_AGE);
  }

应该可以解决。

关于java - 在 Java 简单程序中跳出 While 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33437066/

相关文章:

java - 在 java 中使用 continue 选项连接 while 循环

java - 使用 Swing 在 Java 中绘制多个矩形

java - 访问 CUDA 内核中的变量时出现 CUDA_ERROR_ILLEGAL_ADDRESS

java - 从外部类访问内部类的私有(private)实例变量

java - 在 SpringBoot 中使用 Testcontainers 进行 Spring Data Elasticsearch 集成测试

java - Eclipse 包资源管理器中的不同 IResource

java - 如何在 Java 中安装 httpclient 和其他库以便在 Eclipse 中使用它们?

javascript - 为什么 Javascript 函数在 php 循环中只执行一次?

android - 在 Eclipse 中安装 ADT 插件时出错

python - 使用Python的while循环中的if/elif/else语句