虽然循环不会重复

0 java string loops while-loop

public static void main(String[] args) {
  Scanner console = new Scanner(System.in);
  Random r = new Random();
  intro();
  int numGames = 0;
  int numGuesses = game(console, r);
  int max = max(numGuesses);
  String again = "";
  while (again.startsWith("y") || again.startsWith("Y")) {
     game(console, r);
     System.out.println("Do you want to play again?");
     again = console.next();
     numGames++;
  }
  stats(numGames, numGuesses, max);
}
Run Code Online (Sandbox Code Playgroud)

这是我的方法main中的代码,代码应该调用其他方法来编写带数字的猜谜游戏.我设置了我的while循环,以便它将运行游戏,并且在游戏运行后,它将询问用户他/她是否想再次玩游戏.然后用户输入任何内容,如果他/她键入的字符串以"y"或"Y"开头,则游戏将再次播放.(除此之外,假设用户没有输入"n"或"N"以外的任何其他字母,那么程序将转到方法调用stats();)

问题是,在游戏运行一次并且用户猜对了之后,程序甚至不再要求再次播放,它只是直接进入统计数据(); 方法调用.我究竟做错了什么?如何修复它以便它会要求用户再次播放并且只要用户键入任何以"y"或"Y"开头的单词就会继续播放?

dog*_*god 5

again在第一次检查时是一个空字符串,因此根本不执行while.你正在寻找一个do .. while结构.