によって返される文字列はJOptionPane.showInputDialog()
、通常の文字列とは異なりますか? と比較しようとすると"2"
、false が返され、else ブロックに移動します。
// Prompt user for the month
String monthString = JOptionPane.showInputDialog(
"Enter which month are you looking for: ");
// SMALL Months, ie: 2, 4, 6, 9, 11
else {
// Special case on February
if (monthString == "2" && isLeap)
result += "29 days!";
else if (monthString == "2")
result += "28 days!";
// Everytime my code to go to this block instead
else
result += "30 days!";
}
month を Int に解析し、それをリテラル 2 と比較した場合にのみ機能します。元のバージョンが機能しないのはなぜですか?
int month = Integer.parseInt(monthString);
if (month == 2 && isLeap) ...