1
私はハングマンゲームをJavaで作成し始めています。
私は、ユーザが文字を間違っているかどうかに基づいてメソッド状態を呼び出せます。
すべての状態が正しく表示されるようにすべての状態をテストしています。
状態1と2は正しく表示されますが、3-5では正しく表示されません。ここでJava Hangman ASCII Art奇妙な出力
はコードです:ここでは
public void state_1() {
System.out.println(" \n"
+ " ------\n"
+ "| |\n"
+ "| O\n"
+ "|\n"
+ "|\n"
+ "|\n"
+ "|\n"
+ "|\n"
+ "|\n"
+ "|");
System.out.println("\n"
+ "");
}
public void state_2() {
System.out.println(" \n"
+ " ------\n"
+ "| |\n"
+ "| O\n"
+ "| |\n"
+ "| |\n"
+ "| |\n"
+ "|\n"
+ "|\n"
+ "|\n"
+ "|");
System.out.println("\n"
+ "");
}
public void state_3() {
System.out.println(" \n"
+ " ------\n"
+ "| |\n"
+ "| O\n"
+ "| |\n"
+ "| |\n"
+ "| |\n"
+ "| |\n"
+ "| /\\n"
+ "| / \\n"
+ "| / \\");
System.out.println("\n"
+ "");
}
public void state_4() {
System.out.println(" \n"
+ " ------\n"
+ "| |\n"
+ "| O /\n"
+ "| | /\n"
+ "| |/\n"
+ "| |\n"
+ "| |\n"
+ "| /\\n"
+ "| / \\n"
+ "| / \\");
System.out.println("\n"
+ "");
}
public void state_5() {
System.out.println(" \n"
+ " ------\n"
+ "| |\n"
+ "| \\ O /\n"
+ "| \\ | /\n"
+ "| \\|/\n"
+ "| |\n"
+ "| |\n"
+ "| /\\n"
+ "| / \\n"
+ "| / \\");
System.out.println("\n"
+ "");
}
は奇妙出力されます:
------
| |
| O
|
|
|
|
|
|
|
------
| |
| O
| |
| |
| |
|
|
|
|
------
| |
| O
| |
| |
| |
| |
| /\n| / \n| / \
------
| |
| O/
| |/
| |/
| |
| |
| /\n| / \n| / \
------
| |
| \ O/
| \ |/
| \|/
| |
| |
| /\n| / \n| / \
私がやるべきシンプルなものがあると確信していますが、私が知っているように私は確かにだけではないです新しい行 "\ n"が作成される前に\ partに問題があります。
これを回避するには、私はあなたの助けが必要です。
もののそれでも、バックスラッシュをエスケープする必要があり、私はもしかしたら、私はそれをやっていた方法のようにそれを行うためのより良い方法があると思いました。私が\\ nで試してみると、無効なシーケンスが返ってくるだけです。それは私が避けようとしていたもので、私は足をその問題を解決するために置いた。だから私は毎回system.out.printlnを実行するだけで修正できますか? –
これは修正ではありません。文字列の最後に '\ n'を取り除き、改行がどこにあるかを保証します。 –
無効なシーケンスはどこから手に入りますか? https://ideone.com/WqYHAb –