我想知道当扫描仪正在运行并且要求您键入日期并输入无效日期时它是如何可能的,它会显示错误然后再次输入有效日期?问题是,当我的程序运行时,它要求输入日,月和年,但如果日期错误,则跳过月而不让用户输入正确的日期..我知道如何让程序检测到错误的日期,但idk如何让它导致错误或让你再次键入正确的,而不是跳到下一个问题..
{{1}}
答案 0 :(得分:2)
您必须验证并循环每个输入变量
类似
Scanner da= new Scanner(System.in);
d= getDay (da);
private int getDay (Scanner da) {
int day = 0;
while (day <= 0 || day > 31) { // tricky logic required here
System.out.println ("Enter day between 1 and 31");
day = da.nextInt ();
}
return day;
}
冲洗并重复一个月和一年
注意
根据月/日不匹配,您可能会有更多逻辑申请,例如: 2月31日
答案 1 :(得分:0)
我不能给你一个完整的答案,但它的要点是这样的 -
int day;
boolean waiting = true;
while (waiting) {
day = in.nextInt();
waiting = isGood(day); //you need to write this yourself!
}
/*continue with program*/