【解決方法】この路線を続けるにはどうすればよいでしょうか?


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 声明。 またどのように使えるのか JanuaryJANUARYjanuary 同時に?

解決策 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 月」に置き換えます。スペースが重要です。

コメント

タイトルとURLをコピーしました