验证,只有输入应该是字符而不是数字

时间:2014-02-09 09:05:22

标签: java validation char

我有验证检查输入是否为空,但我如何编写验证以检查输入是否仅为字符。

public static String getValidSt(String aSt) {
    while (isValidSt(aSt) != true) {
        aSt = JOptionPane.showInputDialog("Try again!");
    }

    return aSt;
}

private static boolean isValidSt(String aSt) {
    boolean result = false;

    try {
        if (aSt.length() == 2) {
            result = true;
        } else if (aSt.length() != 2) {
            result = false;
        }
    } catch (NumberFormatException nfex) {
        result = false;
    } catch (Exception ex) {
        result = false;
    }

    return result;
}

2 个答案:

答案 0 :(得分:0)

如何在Character类中使用静态方法:

private static boolean containsOnlyLetter(String input) {
  for(int i=0; i < input.length(); i++) {
     if (!Character.isLetter(input[i])) {
       return false;
     }
  }
  return true;
}

请不要随意捕获代码中的异常。有一天,其中一个将抓住一个重要的,使它消失,程序将在以后的步骤失败。调试会很痛苦!

答案 1 :(得分:0)

您可以使用Guava CharMatcher类:

CharMatcher.JAVA_LETTER.matchesAll( string )