0

IFステートメントでは機能しますが、ELSEステートメントでは、出力する前に4つの応答を入力する必要があります。何か案は?どういうわけかバッファをクリアする必要があると思います。

System.out.println("Would you like to play a game? (Y/N)");
        if(scanInput.next().equalsIgnoreCase("y")||scanInput.next().equalsIgnoreCase("Y")) {

        System.out.println("let's play");
    }

    else if (scanInput.next().equalsIgnoreCase("n") || scanInput.next().equalsIgnoreCase("N")){

        System.out.println("Goodbye");
    }
4

2 に答える 2

5

一度から読んでくださいInputStream

String query = scanInput.next();
if (query.equalsIgnoreCase("y")) {
    System.out.println("let's play");
} else if (query.equalsIgnoreCase("n")) 
    System.out.println("Goodbye");
} // handle case where not Y or N ...

String#equalsIgnoreCase複数の式を使用する必要はないことに注意してください。また、ここで改行文字を使用することをお勧めしますscanInput.nextLine()

于 2013-02-20T18:25:43.530 に答える
0

next()スキャナーのメソッドを4回呼び出しているためです。また、のポイントは、との両方をequalsIgnoreCase()テストする必要がないということです。yY

System.out.println("Would you like to play a game? (Y/N)");
String x = scanInput.next();
if(x.equalsIgnoreCase("y")) {
    System.out.println("let's play");
}
else if (x.equalsIgnoreCase("N"))    
    System.out.println("Goodbye");
于 2013-02-20T18:27:03.363 に答える