对于我的第一个Java项目,我正在尝试制作一个简单的基于文本的游戏。似乎竖线符号(或者)不起作用,当我尝试在其后输入时它不起作用;我必须重新启动。
public void GameStart() {
String playerName = "Player";
String Command = "Choice";
System.out.println("Type Start to start game!");
if(in.nextLine().equals("Start") || in.nextLine().equals("start")) {
Help();
print("Type Begin to start game :D");
if(in.nextLine().equals("Begin") || in.nextLine().equals("begin")) {
System.out.println("Who are you?");
Start和Begin都可以正常工作,但像我使用的小写第一个字母||一样不行。当我使用它们时,我必须重新启动它,因为我无法输入任何内容,但我明显有或管道符,表示可以使用其中任何一个。有人知道是什么原因导致这种情况吗?
in.nextLine()
时,会从输入流中读取一行文本。 - njzk2in.nextLine()
可能正在等待更多的输入。尝试将输入保存在一个变量中,并检查该变量的值。 - Mike Gi++
。)我发现,如果将它们保持分开,就更清晰易懂,并且更容易正确执行。在其他操作之前或之后放置状态更改,在一个单独的语句中。如果您在此处这样做,您的问题将永远不会发生。 - jpmc26