【问题标题】:Boolean Menu Validation布尔菜单验证
【发布时间】:2021-12-06 22:56:31
【问题描述】:

我正在尝试制作一个菜单来要求用户输入“是”或“否”,如果他们的输入都不是,我想再次提示用户这个问题。我想知道为什么代码需要另一个 return 语句。

【问题讨论】:

    标签: java validation return boolean


    【解决方案1】:

    你的代码错了

    1. 您需要在循环中再次提示,否则如果您不输入“是”或“否”,它将永远旋转。
    2. 获取nextLine 时需要分配给一个变量,否则它会丢失。
    3. valid 的值永远不会改变

    所以你的代码应该是这样的

         Scanner sc = new Scanner(System.in) ;
         boolean yes = false;
         while (true) {
             System.out.println("enter yes or no");
             String line = sc.nextLine();
             if (line.equalsIgnoreCase("yes")) {
                 yes = true;
                 break;
             }
             if (line.equalsIgnoreCase("no")) {
                 break;
             }
             // else back to the top
         }
         
         return yes;
    

    【讨论】:

      猜你喜欢
      • 2016-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-14
      • 2014-06-05
      • 1970-01-01
      • 2014-01-06
      • 1970-01-01
      相关资源
      最近更新 更多