如何在java扫描仪中仅接受信件
我的代码里有一个扫描器。我希望我的扫描仪只接受字母,如果检测到数字,则重复用户输入。你知道我该怎么做吗 以下是我的示例代码:如何在java扫描仪中仅接受信件,java,validation,java.util.scanner,Java,Validation,Java.util.scanner,我的代码里有一个扫描器。我希望我的扫描仪只接受字母,如果检测到数字,则重复用户输入。你知道我该怎么做吗 以下是我的示例代码: if (isFull() == false) { Scanner input = new Scanner(System.in); Passenger p = new Passenger(); System.out.print("Enter first name: "); p.setName(input.nextLine());
if (isFull() == false) {
Scanner input = new Scanner(System.in);
Passenger p = new Passenger();
System.out.print("Enter first name: ");
p.setName(input.nextLine());
System.out.print("Enter surname: ");
p.setSurname(input.nextLine());
queueArray[last] = p;
last = (last + 1) % queueArray.length;
System.out.println("Passenger entered is now in position " + last);
System.out.println("");
}
您可以使用正则表达式模式确定用户输入是数字还是字符串:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter first name: ");
String a = input.nextLine();
Pattern p = Pattern.compile("\\d+");
Matcher m = p.matcher(a);
if(m.matches()){
System.out.println("all characters are digits!");
}
else System.out.println("its a normal string");
}