[ad_1]
Scanner sc = new Scanner(System.in); String month = sc. nextLine(); switch (month){ case "January": System.out.println("Ye"); break; case " February" : System.out.println("Hello"); break; case "May": System.out.println("nice"); break; case "October": System.out.println("ll"); break; case "November": System.out.println("o"); break; case "April": System.out.println("H"); break; case "March": System.out.println("He"); break; case "December": System.out.println("Hell"); break; default: System.out.println("Invalid"); } if (....?
私が試したこと:
月が一致する場合、すでに実行しているように、それらに関連付けられたステートメントを出力する必要があります。 そして、月の誰かが一致すると、「もっと知りたいですか?」のようなメッセージが表示されます。
何も一致しない場合、および無効な場合は、何も表示されません。 しかし、あらゆる場合にこれを追加するわけではありません。 を使ってやりたいです if else
声明。 またどのように使えるのか January
、 JANUARY
と january
同時に?
解決策 1
デフォルトはすでに設定されており、入力が他のケースのいずれにも一致しない場合に「無効」と出力されます。 何か追加のものを印刷したい場合は、次のことを試してください。
Java
String found = "Success" switch (month) { // cases as above default: System.out.println("Invalid"); found = "Failure"; } System.out.println(found);
解決策 2
ブール値を追加: それを呼び出します MatchedOK
そして、そのすぐ上で true に設定します switch
。
あなたの中で default
この場合、false に設定します。
その後、テストできます MatchedOK
そしてコードがどちらの方向に進んだかを伝えます。
ちなみに…おそらく toLower を使用する必要があります switch
変数を使用し、すべて小文字の文字列を使用します。 case
ステートメント: そうすることで、「JANUARY」、「JANUARY」、「january」、およびその他すべての大文字と小文字の組み合わせに一致します。
解決策 3
あなたが抱えている別の問題:
Java
case " February" : System.out.println("Hello"); break;
「 2 月」を「2 月」に置き換えます。スペースが重要です。
[ad_2]
コメント