本文介紹了Do While循環..在輸入正確的情況下繼續的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在嘗試執行While循環,但它一直在我身上失敗。
因此,雖然用戶沒有輸入日期,但它將一直運行,直到輸入有效的日期。
IsValidDate是一個檢查日期是真還是假的方法。僅當輸入dd/mm/yy時,DATE才為真。
我正在檢查日期是否正確。如果它是正確的,它將被存儲到字符串Date中,程序將繼續。
如果不正確,程序將再次提示用戶輸入正確的日期。
當我第一次輸入錯誤的日期時,系統會提示我再次輸入正確的日期。
此時,當我輸入正確的日期時,程序無法再驗證該日期是否正確。為什么會發生這種情況?
請幫幫忙!
public void bookingA(){
bkList = new ArrayList<bookingInfo>();
Scanner keys = new Scanner(System.in);
String date;
System.out.println("
Enter the date: ");
while(!isValidDate(keys.nextLine())) {
do {
System.out.println("That is not a valid date! Please enter again (dd/mm/yy): ");
date = keys.nextLine();
} while (!isValidDate(date));
System.out.print(date);
break;
}
}
推薦答案
您有無限循環,請將其更改為:
System.out.println("
Enter the date (dd/mm/yy): ");
while (true) {
date = keys.nextLine();
if (isValidDate(date)) {
break;
} else {
System.out.println("That is not a valid date! Please enter again (dd/mm/yy): ");
}
}
System.out.print(date);
這篇關于Do While循環..在輸入正確的情況下繼續的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,