1

我从扫描仪读取了一个输入,然后将其与硬编码字符串变量进行比较

String MOVE = input.next();  // I type in "MOVE N"
MOVE = MOVE.trim();
System.out.print(MOVE.equals("MOVE N"));

这返回了错误。我添加了修剪()

String MOVE = input.next(); // I type in "MOVE N"
System.out.print(MOVE.equals("MOVE N"));

还是假的。

有任何想法吗?谢谢

4

2 回答 2

11

你可能想要nextLine(). 该next()方法将只返回下一个标记,默认情况下它将是下一个单词(即它在空格处中断)。

下一次,你应该添加一个调用来System.out.println(MOVE);帮助你诊断这个 - 这样你就可以看到结果只是"MOVE"而不是"MOVE N". (然后您会查阅文档以获取Scanner.next()...)

此外,我强烈建议您开始为变量遵循 Java 命名约定 - 所以move而不是MOVE例如。

于 2013-03-01T13:31:13.557 回答
0
String MOVE = input.nextLine ();  // I type in "MOVE N"
MOVE = MOVE.trim ();
System.out.print (MOVE.equals ("MOVE N"));
于 2013-03-01T13:32:18.060 回答