对于一个项目,我必须制作刽子手游戏。一切正常,但我正在尝试制作一个循环,让用户选择再次玩。
import java.util.Scanner;
//this is the main method where I'm trying to add the loop//
public class hangMan {
public static void main(String[] args) {
String repeat = "y";
while (repeat == "y") {
Scanner sc = new Scanner(System.in);
String w = randomWord("cat", "kite", "touch", "yellow", "abdomen");
if (w.equals("cat")) {
threeword();
}
if (w.equals("kite")) {
fourword();
}
if (w.equals("touch")) {
fiveword();
}
if (w.equals("yellow")) {
sixword();
}
if (w.equals("abdomen")) {
sevenword();
}
System.out.println("Do you want to play again? (y/n): ");
repeat = sc.next();
sc.close();
}
}
如果用户输入“y”进行重复,我期望循环继续重复游戏,如果用户输入任何其他字符,则游戏停止。但是,我不断收到 java.util.NoSuchElementException 错误。如果有人能帮助我创建一个循环并向我解释为什么我所做的事情会搞砸,我将不胜感激。谢谢
最佳答案
- 在 while 循环之外声明您的 Scanner 对象
- 将 sc.close 写在 while block 之外,即主花括号末尾之前
- 不要使用 == ,使用 equals() 函数。请注意 String 的 == 和 equals() 函数之间的区别。
关于java - 尝试进行循环时不断收到 java.util.NoSuchElementException 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58677442/