【问题标题】:Input Validation Do While loop输入验证 Do While 循环
【发布时间】:2021-05-13 06:43:34
【问题描述】:

我需要创建一个 do while 循环,该循环适用于将用户返回到循环的文本输入。目前,如果输入像“零”这样的输入,它只会显示一条错误消息。

 do {
    System.out.println("Enter wall height (feet): ");
    wallHeight = scnr.nextDouble();
    } while (wallHeight <= 0);

【问题讨论】:

    标签: java validation input


    【解决方案1】:

    不确定你想在这里实现什么。根据您的代码,现在循环仅在输入为 0 或更少时才起作用。因此,如果您输入的高度大于 0,例如10、退出循环。

    【讨论】:

    • 对不起,我是 java 新手,还在学习术语。我需要代码循环返回任何无效输入,如 0、“零”、“三十”等
    • 我猜你只想读取大于 0 的数字,对吧?如果用户输入了无效的输入,你要再次提示用户吗?
    • 是的,我想要大于零的数字并且没有文本输入。唯一应该打破循环的输入是 > 0
    【解决方案2】:

    我认为这段代码可能对你有用..

    do {
          System.out.println("Enter wall height (feet): ");
          String text = scnr.nextLine();
          try {
              wallHeight = Double.valueOf(text);
          } catch (NumberFormatException ne) {
              wallHeight=-1d;
          }
     } while (wallHeight <= 0);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-25
      • 2014-03-17
      • 1970-01-01
      • 1970-01-01
      • 2018-01-18
      • 2023-03-12
      相关资源
      最近更新 更多