1

スキャナーから読み取った入力があり、それをハードコードされた文字列変数と比較しています

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

これは false を返しました。トリム()を追加しました

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 に答える