私はJavaの初心者で、ユーザーに月の入力を求め、その月の日数を出力し、うるう年かどうかを尋ねるプログラムを作成しようとしています。スキャナーからの文字列「はい」入力をブール値のtrueまたはfalse入力に変換しようとしましたが、エラーが発生して文字列をブール値に変換できません。parseStringメソッドを試しましたが、成功しませんでした。この問題についての洞察や助けは大歓迎です。御時間ありがとうございます!
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int numberOfDays = 0;
System.out.print("What's the month? ");
String month = scan.nextLine();
System.out.print("Is it a leap year? ");
String leapYear = scan.nextLine();
boolean b1 = Boolean.parseBoolean(leapYear);
if (b1 = "yes") {
b1 = true;
}
else {
b1 = false;
}
switch(month) {
case "January":
numberOfDays = 31;
break;
case "February":
if (b1 = true) {
numberOfDays = 29;
} else {
numberOfDays = 28;
}
break;
}
}
あなたはこのようなものが欲しい:
boolean b1 = "yes".equals(leapYear);
if elseブロックをb1 = yesで削除します。Stringとbooleanを比較することはできません。比較するには、2つの等号が必要です。1つはbooleanにyesを割り当てようとするもので、エラーの原因になります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加