基本上,我希望用户输入这种格式的代码-XXXX000,如果用户输入3个字母和4个数字,则它会输出错误。
我所做的是,我写了一个命令,输入的最大字符数必须为7个,但没有指定字符的大小。因此,如果用户输入7位数字,则仍然接受,但不应接受。
System.out.print("Enter the animal's unique code - Format: (XXXX111)");
String codein = in.nextLine();
a.setCode(codein);
if (codein.length() != 7) {
System.out.println("Format was not met, please try again");
System.out.println("Enter the animal's unique code - Format: (XXXX111)");
codein = in.nextLine();
a.setCode(codein);
}
如果用户未以这种格式输入XXXX000,应该会出现错误
答案 0 :(得分:2)
假设您的模式中X
表示A-Z和a-z,0
表示0-9,则可以使用此模式来验证代码:
[A-Za-z]{4}\d{3}
有关正则表达式的更多信息,请参见here。
像这样使用它:
if (codeine.matches("[A-Za-z]{4}\\d{3}")) {
// valid
} else {
// invalid
}