我正在尝试除了雇佣号码XXX-L,其中x是范围0-9中的一个数字,并且L是范围为A-M的一个字母。我试图让这个代码工作。但我无法输入有效的输入。特殊形式的字符串输入验证
import java.util.Scanner;
import java.util.InputMismatchException;
public class ObjectOrinetPrograming
{
public static void main(String [] args)
{
Scanner input = new Scanner (System.in);
System.out.println("Please Enter elements: ");
String employeenumber = input.nextLine();
while (employeenumber.length() != 5)
{
System.out.println("invalid input; lenght, Try again:");
employeenumber = input.nextLine();
}
while (employeenumber.charAt(4) != ('A'|'B'|'C'|'D'|'E'|'F'|'G'|'H'|'I'|'J'|'K'|'L'|'M'))
{
System.out.print("invalid input; charrecter match, try again:");
employeenumber = input.nextLine();
}
while (employeenumber.charAt(0) == '-')
{
System.out.println("Invalid Input; form, try again:");
employeenumber = input.nextLine();
}
}
}
非常感谢好友。 – Muzy
@Muzy我为你更新了我的答案。 – BlackHatSamurai
@Muzy那么正则表达式就是** [0-9] {3} - [A-Ma-m] **以符合您的要求。 – m4heshd