我编写了这段代码,提示用户输入他们的出生月份和出生年份。有一些错误检查:他们的月份必须是一个整数,并且在 1-12 的范围内。一年也一样。就目前而言,我有两个 while 循环,我想不出一种方法来组合它们以在出现问题时仍然得到错误消息。如果它只是要说“错误输入:重新输入”,我可以想到它,但它需要说明输入有什么问题。它从月份开始,那个月份必须是好的,然后才能继续询问年份。如果年份错误,它会要求重新输入年份——而不是一直回到月份。
如果有人有任何想法,我将不胜感激。用于检查它是否为整数的类是我必须使用的类。
while(!monthDone) {
System.out.print("Enter Month of Birth: ");
monthInput=scan.next();
if(!(Type.isInteger(monthInput))) {
System.out.println("You need to enter an integer for month");
monthDone=false;
} else {
MOB = Integer.valueOf(monthInput);
if (MOB<1 || MOB>12) {
System.out.println("Your month is out of range");
monthDone=false;
} else {
monthDone=true;
}
while(!yearDone) {
System.out.print("Enter Year of Birth: ");
yearInput=scan.next();
if(!(Type.isInteger(yearInput))) {
System.out.println("You need to enter an integer for year");
}
else {
YOB = Integer.valueOf(yearInput);
if (YOB<1912 || YOB>2012) {
System.out.println("Your year is out of range");
yearDone=false;
}
else
yearDone=true;
}
}
}
}
} // else closed
} // Outer while close
我只是发布while循环。当两者都出现时monthDone && yearDone == true
,我会继续打印它们的年龄等。