私はこのswitch
声明を機能させようとしています。
ユーザーの誕生日を尋ねると、彼らはそれを形式で入力しますDD.MM.YYYY
。このif
ステートメントは、"." を使用するかどうかを決定します。それを区切るか、「/」、「」などの他の記号のいずれかを区切ります。他の記号は正常に機能し、switch
ステートメントに入力されるため、ユーザーが 15/07/1993 と入力すると正常に機能し、月は 7 月になります。しかし、彼らが 15.07.1993 に入ると、default case
それは 7 番目のケースではありません。
エスケープされた「。」と関係があると思います。
("\\.")
これにより、値が変更される可能性があります。それを回避する方法はありますか?入力は私のスキャナーです。
ご不明な点がございましたら、お気軽にお問い合わせください。
if(input.contains("\\."))
{
String[] tokens = input.split("\\.");
day = Integer.parseInt(tokens[0]);
intMonth = Integer.parseInt(tokens[1]);
year = Integer.parseInt(tokens[2]);
}
switch(intMonth)
{
case 1: month = "January";
break;
case 2: month = "Febuary";
break;
case 3: month = "March";
break;
case 4: month = "April";
break;
case 5: month = "May";
break;
case 6: month = "June";
break;
case 7: month = "July";
break;
case 8: month = "August";
break;
case 9: month = "September";
break;
case 10: month = "October";
break;
case 11: month = "November";
break;
case 12: month = "December";
break;
default: month = "not valid";
break;
}