Java:将2个表达式应用于1个扫描仪输入

Java:将2个表达式应用于1个扫描仪输入,java,regex,if-statement,java.util.scanner,Java,Regex,If Statement,Java.util.scanner,我尝试应用两个条件:一次读取一个字符,并要求相同扫描仪输入的alpha字符: 关于如何应用这些条件并继续检查每个字符用户输入的任何建议 Scanner lastname = new Scanner(System.in); System.out.println("Please enter the first letter of last name:"); lastname.useDelimiter("(?<=.)"); if (lastname.hasNext()) Syst

我尝试应用两个条件:一次读取一个字符,并要求相同扫描仪输入的alpha字符:

关于如何应用这些条件并继续检查每个字符用户输入的任何建议

Scanner lastname = new Scanner(System.in);
System.out.println("Please enter the first letter of last name:");
lastname.useDelimiter("(?<=.)");  
if (lastname.hasNext())  
    System.out.println("character: [" + lastname.next() + "]");
if (!lastname.hasNext("[A-Za-z]+")); {
    System.out.println("You are not a robot so do not use numeric characters.");
  System.out.println("Please enter letter:");
    lastname.next();
Scanner lastname=新扫描仪(System.in);
System.out.println(“请输入姓氏的第一个字母:”);

lastname.useDelimiter((?不要更改分隔符;更改逻辑

始终只读取一个字符,但使用如下代码进行测试:

String s = scanner.next();
if (Character.isDigit(s.charAt(0)))
或使用正则表达式:

if (s.matches("[a-zA-Z]+"))

谢谢。我添加了regex示例。对于如何允许输入多个字符,但一次显示1,您有什么建议吗?例如,如果用户输入R123o456b45,输出将显示:不设置分隔符。只需使用
.hasNextLine()
.nextLine()
因此用户必须按enter键才能输入程序,这是命令行输入的常用方式。