Java do loop - 无法解析字符串

awf*_*fle 2 java compiler-errors do-while

使用Java中的程序员定义的方法处理简单的骰子滚动游戏.因为我知道程序需要至少运行一次,然后询问玩家是否想再次使用,我选择使用do/while循环.我以前从未使用过,但我相信我的设置是正确的.

我的代码如下,不包括循环中包含的main方法的主体,以及程序员定义的方法.

do {
    // main METHOD BODY ..

    String proceed = ui.nextLine();
    System.out.print("Would you like to play again (yes/no)? ");

} while (proceed.charAt(0) == 'Y' || proceed.charAt(0) == 'y');
Run Code Online (Sandbox Code Playgroud)

此时我从Eclipse IDE获得的是"继续无法解决".

关于发生了什么的任何想法?

Jor*_*dão 6

你需要在外面声明它do.

String proceed = null;
do {
  ...    
  proceed = ui.nextLine(); 
  ...    
} while (proceed.charAt(0) == 'Y' || proceed.charAt(0) == 'y'); 
Run Code Online (Sandbox Code Playgroud)

当你在里面声明它时do,它的范围只在该语句的主体内,并且无法在该while部分上解析.


Eri*_*erg 6

在while循环中取消引用时,proceed不在范围内.将proceed变量的声明移到do之外.

String proceed;
do{

 main METHOD BODY

    proceed = ui.nextLine();
    System.out.print("Would you like to play again (yes/no)? ");

} while (proceed.charAt(0) == 'Y' || proceed.charAt(0) == 'y');
Run Code Online (Sandbox Code Playgroud)