【发布时间】:2015-10-28 18:47:12
【问题描述】:
对于我的第一个 Java 项目,我正在尝试制作一个简单的基于文本的游戏。似乎 or 管道不起作用,当我尝试在它不起作用之后输入一些东西时;我必须重新启动它。
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 and Begin 有效,但第一个字母小写,就像我使用的 ||因为没有。当我使用它们时,我必须重新启动它,因为我无法输入任何内容,但我显然有或管道说要使用其中任何一个。有谁知道是什么原因造成的?
【问题讨论】:
-
你认为当你打电话给
in.nextLine()时会发生什么? -
in.nextLine()可能正在等待更多输入。尝试将输入保存在变量中并检查其值。 -
作为一般规则,我发现从不使状态更改与其他计算/评估“内联”很有用。 (在您的情况下,状态更改是在您读取输入时,您使用布尔条件“内联”。另一个递增示例,例如
i++。)让他们分开。将其他操作之前或之后的状态更改放在单独的语句中。如果您在这里这样做,您的问题就不会发生。
标签: java or-operator