我正在做一個需要3個輸入像「1500,1和1」或「1500,1月和1」,並返回「1月1日,1500年」或「1/1/1500「,我在當天遇到了一些問題,但有人已經告訴我如何解決這個問題,現在我在月份部分遇到問題,我做了這個有點快,我還沒有弄清楚爲什麼它不是不工作,它應該看看輸入是否是一個有效的月份,如果它是輸出月份(這部分只是爲了測試),如果不是,那麼它應該說「請使用一個有效的月份或一個有效的月份數字在1和12之間「,但是當我寫任何不是一個月的東西時,它就會停止,並且不輸出任何東西,即使我在一個月後沒有做任何事情,我也試着看看是否有是任何錯誤,但我沒有找到任何,這是我使用的代碼:該代碼不工作出於某種原因
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);
一年有12個月,所以你應該檢查我<12,而不是11. – Jiminion
爲什麼零星的輸入?爲什麼不讓他們先進入一個月,然後是一天,然後是一年。你應該限制用戶的輸入,以使你的生活更輕鬆 – sunrize920
只需使用for循環這種方式'for(int i = 0; i <= 11; i ++)' –