我写了一个从键盘读取用户名的程序。当我输入任何整数或特殊字符时,它将获取该值并在控制台上显示。但我希望它不应该采取任何整数和特殊字符。它应该只包含字母,如果有任何整数或特殊字符,那么它应该给出错误消息,不应该存储该值。有人可以帮我解决这个问题吗?
我写的程序程序是
import java.util.Scanner;
public class CheckIsEmpty {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("Enter User Name:: ");
System.out.println();
String usn = sc.nextLine();
if (usn.trim().isEmpty()) {
System.out.println("Don't Give Space");
System.out.println();
}//if
else if (usn.isEmpty()) {
System.out.println("User Name Is Mandatory");
System.out.println();
} // if
else {
System.out.println("Hi " + usn);
System.out.println("Welcome To Java");
break;
}// else
}//while
}//main
} // class
答案 0 :(得分:0)
您可以在此处使用正则表达式。如果所有字符都是字母,则后面的代码将返回true。
usn.matches("[a-zA-Z]+")
如果输入字符串包含任何其他字符,则返回false。
希望它有所帮助。
答案 1 :(得分:0)
您可以使用模式匹配..
boolean b = Pattern.compile(" [a-zA-Z] +")。matcher(username).matches();