2016-11-17 44 views
0

下面的代码应该要求用户输入开始到控制台,然后如果用户点击启动“让我们开始”如果不是这样,“输入错误的字”打印和方法循环本身。我有while循环问题上做的。谁能告诉我为什么这不起作用?

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); 
+2

缩进你的代码! –

+1

欢迎来到Stack Overflow。请花时间,当你将它张贴格式化你的代码 - 它使* *得多方便大家阅读,然后帮你。 –

+7

的问题是,你声明'内循环valid',所以你不能在'而(!有效)'条件使用。在'do'之前移动'boolean valid'。 –

回答

5

的问题是,你声明valid内循环,所以你不能在while (!valid)条件下使用。

变量只,如果你宣布它存在(这就是所谓的变量的“范围”)的do/while循环内可见。

移动boolean validdo前:

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