Do While循环..在输入正确的情况下继续 [英] do while loop.. to proceed if correct input is given

查看:0
本文介绍了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循环..在输入正确的情况下继续的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆