我正在用Java编写一个RPG战斗系统,雄心勃勃吧?好吧,我遇到了一些麻烦。这是我的代码:
void turnChoice() {
System.out.println("What will you do? Say (Fight) (Run) (Use Item)");
Scanner turnChoice = new Scanner(System.in);
switch (turnChoice.nextLine()) {
case ("Fight"):
Combat fighting = new Combat();
fighting.fight();
default:
}
turnChoice.close();
}
当它到达代码中的那一点时我得到:
你会做什么?说(战斗)(跑步)(使用物品)
线程“main”java.util.NoSuchElementException中的异常:找不到行 在java.util.Scanner.nextLine(未知来源)
在Combat.turnChoice(Combat.java:23)
这个类叫做Combat,我只想让它给出一个打击或跑步或使用物品的选项,我首先尝试的是战斗方法。请帮助,我是Java的新手,所以如果可能的话,不要让事情太复杂。
答案 0 :(得分:26)
当您使用Scanner
中的System.in
进行阅读时,不应关闭任何Scanner
个实例,因为关闭一个将关闭System.in
,当您执行以下操作时,{{ 1}}将被抛出。
NoSuchElementException