我在while循环中遇到包含java方法的问题,这就是我的代码看起来像
Scanner input = new Scanner(System.in)
String s = "";
int moveOn = 0;
while (moveOn == 0) {
if (s.equals("")){
System.out.println("blah 1");
System.out.print("> ");
s = input.next();
System.out.println();
}
else if (s.contains("something") ||
s.contains("something else")) {
System.out.println("blah 2");
moveOn++;
} else {
System.out.println("blah 3");
s = "";
}
}
moveOn = 0;
System.out.println(s + " <- s test");
我正在尝试制作一个简单的cmd线文本游戏。如果您在提示符下输入“something”,那么它可以正常工作,如果您输入的内容不是“something”或“其他内容”< / em>它按预期工作。但如果你输入“blah blah something”,它将输出
blah 1
> blah blah something
blah 3
blah 1
>
blah 3
blah 1
>
blah 2
something <- s test
我非常肯定基于这种行为,这是我不理解的包含方法的东西。我确信这很简单,但有人知道我做错了吗?
答案 0 :(得分:1)
Scanner.next()
返回下一个标记,标记的默认分隔符是空格,因此输入blah blah something
的结果值为blah
。
此外,您的moveOn
变量应该是布尔值。