如何在Java中停止在String中存储整数和特殊字符?

时间:2018-02-05 16:11:26

标签: java

我写了一个从键盘读取用户名的程序。当我输入任何整数或特殊字符时,它将获取该值并在控制台上显示。但我希望它不应该采取任何整数和特殊字符。它应该只包含字母,如果有任何整数或特殊字符,那么它应该给出错误消息,不应该存储该值。有人可以帮我解决这个问题吗?

我写的程序程序是

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

2 个答案:

答案 0 :(得分:0)

您可以在此处使用正则表达式。如果所有字符都是字母,则后面的代码将返回true。

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

如果输入字符串包含任何其他字符,则返回false。

希望它有所帮助。

答案 1 :(得分:0)

您可以使用模式匹配..

boolean b = Pattern.compile(" [a-zA-Z] +")。matcher(username).matches();