我有一个while while循环问题.谁能告诉我为什么这不起作用?

0 java methods loops 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);
Run Code Online (Sandbox Code Playgroud)

And*_*ner 5

问题是你valid在循环中声明,所以你不能在while (!valid)条件中使用它.

do/while如果在那里声明变量,变量只对循环内部可见(这称为变量的"范围").

boolean valid之前移动do:

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