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

时间:2016-11-17 23:06:58

标签: 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);

1 个答案:

答案 0 :(得分:5)

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

如果你在do/while循环中声明变量,那么该变量只在boolean valid循环中可见(这称为变量的“范围”)。

do

之前移动boolean valid; do { // Code which assigns true or false to valid. } while (!valid);
def fiber_operations()
    status = -1

    spawn do
       while status != 5
           response = HTTP::Client.get "https://api.com/endpoint"
           response_to_hash = JSON.parse response.body
           status = response_to_hash["status"]
           sleep 2.seconds
       end
    end

    Fiber.yield
end