【发布时间】:2013-04-06 13:28:16
【问题描述】:
我正在尝试做一个 while 循环,但它一直在我身上失败。 因此,虽然用户没有输入日期,但它将继续运行,直到输入有效日期。 isValidDate 是一种检查日期是真还是假的方法。只有输入 dd/mm/yy 时,日期才会为真。
我正在尝试检查日期是否正确。如果正确,则将其存储到字符串日期中,程序将继续。 如果不正确,程序会再次提示用户输入正确的日期。
当我第一次输入错误的日期时,它会提示我再次输入正确的日期。 此时,当我输入正确的日期时,程序无法验证它是否是正确的日期。为什么会这样?
请帮忙!
public void bookingA(){
bkList = new ArrayList<bookingInfo>();
Scanner keys = new Scanner(System.in);
String date;
System.out.println("\nEnter 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;
}
}
【问题讨论】:
-
当您的内部
while条件为假时,date=keys.NextLine()是否会被执行? -
试试调试,很有帮助。
-
我添加了一个break;继续下一个问题,这样做是否正确?
标签: java while-loop do-while