[解決済み] Java - ループあり/なし
2022-02-06 19:10:29
質問
System.out.println("\nWould you like to order some coffee, " + customerName + "? (y/n)");
char response = keyboard.next().charAt(0);
while (response != 'y' && response != 'n') {
System.out.println("\nInvalid response. Try again.");
response = keyboard.next().charAt(0);
} if (response == 'n') {
System.out.println("\nCome back next time, " + customerName + ".");
} else if (response == 'y') {
System.out.println("\nGreat! Let's get started.");
このプログラムを実行し、どの入力が動作するかを確認すると、「y」や「n」で始まる単語を入力しても、エラーメッセージが出力されず、プログラムの続きに移ることがわかります。また、'Y'や'N'を入力しても、無効な応答として登録されてしまいます。
解決方法は?
あなたのコードは、入力の最初の文字しかチェックしません。
y
または
n
は有効であるとみなされます。文字列全体を比較することもできます。
String response = keyboard.next();
while (!response.equalsIgnoreCase("y") && !response.equalsIgnoreCase("n")) {
System.out.println("\nInvalid response. Try again.");
response = keyboard.next();
}
if (response.equalsIgnoreCase("n")) {
System.out.println("\nCome back next time, " + customerName + ".");
} else {
System.out.println("\nGreat! Let's get started.");
}
関連
-
[解決済み】"比較メソッドはその一般契約に違反する!"
-
[解決済み】ResultSetの例外 - 結果セットの開始前
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] JavaでArrayListではなくLinkedListを使用するのはいつですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー:配列または java.lang.Iterable のインスタンスに対してのみ反復処理を行うことができます。
-
[解決済み】このコンパイルユニットは名前付きモジュールに関連しているため、名前付きパッケージeclipseを宣言する必要があります。
-
[解決済み】エラー「No enclosing instance of type Foo is accessible」の原因と修正方法について教えてください。
-
[解決済み】 java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver [重複]。
-
[解決済み】Javaの部分文字列:「文字列のインデックスが範囲外」。
-
[解決済み】Mockitoでモックからチェックされた例外を投げる
-
[解決済み】Javaメソッドスタブ
-
[解決済み】Ubuntu: OpenJDK 8 - パッケージを見つけることができません。
-
[解決済み】どういう意味か。Serializableクラスがstatic final serialVersionUIDフィールドを宣言していないとは?重複している] [重複している] [重複している] [重複している
-
[解決済み] "java.nio.charset.MalformedInputException" を避けるために、すべての包括的なCharset。入力の長さ= 1"?