「1500、1と1」または「1500、1月と1」のような3つの入力を取り、「1500年1月1日」または「1/1/1500」を返すものを作成しています。その日にいくつかの問題がありました一部ですが、誰かがすでにそれを修正する方法を教えてくれました。そして今、月の部分に問題があります。これをちょっと速くしましたが、なぜ機能しないのかわかりません。入力が有効な月である場合は月を出力します (この部分はテスト用です)。それはただ停止するだけで何も出力しない月ではありません。何もしないだけで月を置いても、エラーがあるかどうかを確認しようとしましたが、何も見つかりませんでした。私が使用したコードです:
Scanner scan = new Scanner(System.in);
String mx;
System.out.println("Insert Month");
String[] mm = {"january","february","march","april","may","june","july","august","september","october","november","december"};
int mz = 0;
while (0 < 1){
mx = scan.nextLine();
mx = mx.toLowerCase();
for(int i = 0; i < 11; i++){
if (mx.equals(mm[i])){
mz = i + 1;
break;
}
else {
if(i == 11){
System.out.println("please use a valid month or a number between 1 and 12");
}
else{
}
}
}
//}
if(mz > 0){
break;
}
else {}
}
System.out.println(mx);