java - 我遇到了 do while 循环问题。谁能告诉我为什么这不起作用?

标签 java loops methods while-loop

下面的代码应该要求用户在控制台中输入开始,然后如果用户点击开始“让我们开始”,如果没有,则打印“输入错误的单词”并且该方法自行循环。

do { 
    System.out.println("Type start to play");
    String word = lineReader.nextLine();
    String word2 = ("start");
    boolean valid;

    valid =(word.equals (word2)); 

    if (valid){
        System.out.println("Let's begin");
    } else {
        System.out.println("Wrong Word Entered");
    }
} while (!valid);

最佳答案

问题在于您在循环内声明了 valid,因此您无法在 while (!valid) 条件中使用它。

如果您在 do/while 循环中声明变量,则该变量仅在该循环内部可见(这称为变量的“作用域”)。

boolean valid移到do之前:

boolean valid;
do {
  // Code which assigns true or false to valid.
} while (!valid);

关于java - 我遇到了 do while 循环问题。谁能告诉我为什么这不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40666671/

相关文章:

java - 如何摆脱 Java Nim 编程中的递归?

java - 循环仅打印 else 语句

php - MySQL包含变量

javascript - 使用方法时,来自 API 的数组返回空

java - 调用 Scanner 的 nextLine 的方法上的输入不匹配异常

methods - Meteor.methods() 回调错误

javascript - 如何将我的 JavaScript Web 应用程序转换为 Android 应用程序?

java - 以不同用户登录身份运行 Java 应用程序

java - 在android中比较String的ArrayList的有效方法是什么

javascript - 循环遍历对象以获取特定值