如何仅验证我的用户输入的字符?
package com.company;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("C-cement G-gravel S-sand ");
Scanner scanner = new Scanner(System.in);
System.out.print("Choose a sack:");
String sack = (scanner.next());
int namelenght = sack.length();
do {
System.out.println("This is invalid, please try again");
sack = scanner.next();
} while ((!scanner.nextLine().matches("[a-zA-Z]+")) || (namelenght >= 1));
}
}
最佳答案
这是一个工作示例:
import java.util.Scanner;
import java.util.InputMismatchException;
public class Main {
public static void main(String[] args) {
System.out.println("C-cement G-gravel S-sand ");
Scanner scanner = new Scanner(System.in);
System.out.print("Choose a sack:");
String sack;
while(true) {
try {
sack = scanner.nextLine();
if(!sack.matches("[a-zA-Z]+") || sack.length() > 1) {
throw new InputMismatchException();
}
break;
}
catch(InputMismatchException e) {
System.out.println("Invalid Input! Try again:");
}
}
System.out.println("You've entered: " + sack);
}
}
这仅接受长度为 1 并且仅包含字母的字符串作为输入。
关于java - 验证用户输入 - 仅字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61895541/