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

时间:2013-07-09 01:38:11

标签: java regex if-statement java.util.scanner

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

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

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();

1 个答案:

答案 0 :(得分:0)

不要更改分隔符;改变你的逻辑。

总是只读一个字符,但使用以下代码进行测试:

String s = scanner.next();
if (Character.isDigit(s.charAt(0)))

或使用正则表达式:

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