java扫描程序多重验证
我想验证来自Scanner
类的用户输入
验证它是否为整数,并且必须在[6000, 6999]
范围内
while(!in.hasNext("\\d+")) {
System.out.println("<Error: Enter numbers only!>");
System.out.println("Enter postal code :");
in.nextLine();
}
postalCode = in.nextInt();
in.nextLine();
如何添加验证以检查其是否在范围[6000, 6999]
内
已编辑 尝试了这个,这是输出。然后它就停止了
输入邮政编码:
d
错误:仅输入数字
输入邮政编码:
一,
错误:邮政编码只能在6000-6999之间
输入邮政编码:
一千
System.out.println("Enter postal code :");
while(!in.hasNext("\\d+"))
{
System.out.println("<Error: Enter numbers only!>");
System.out.println("Enter postal code :");
in.nextLine();
}
postalCode = in.nextInt();
while(postalCode < 6000 || postalCode > 6999)
{
System.out.println("<Error: Postal code must be betwen 6000-6999 only!>");
System.out.println("Enter postal code :");
postalCode = in.nextInt();
while(!in.hasNext("\\d+"))
{
System.out.println("<Error: Enter numbers only!>");
System.out.println("Enter postal code :");
in.nextLine();
}
}
in.nextLine();
# 1 楼答案
你需要一个新的while循环。说
postalCode = in.nextInt();
,然后是一个新循环while(postalCode < 6000 || postalCode > 6999)
,最后提示用户输入一个新值