Java 识别字符串有数字

Java 识别字符串有数字,java,Java,这是我的输入验证程序: public class MyInputVerifier extends InputVerifier { @Override public boolean verify(JComponent input) { String text = ((JTextField) input).getText().trim() if (text.isEmpty() || text.length() == 0) return false; // How verif

这是我的输入验证程序:

public class MyInputVerifier extends InputVerifier {

@Override
public boolean verify(JComponent input) {
    String text = ((JTextField) input).getText().trim()
    if (text.isEmpty() || text.length() == 0) return false;
    // How verifier that if text contains digit, return false?
    return true;
}
我需要识别当
文本
包含数字时,它会向我返回false


是否有任何方法或我应该使用旧方法?(用于循环)

这是检查
文本是否包含数字的一种方法:

boolean containsADigit = text.matches(".*\\d.*");
如果要检查所有字符是否都是数字,则仍可以使用正则表达式,或尝试将字符串解析为整数:

boolean isDigitsOnly = text.matches("\\d*");

你想找一条更快的路吗

private boolean hasOnlyDigits(String str) {
    for(int i = 0; i < str.length(); i++) {
        char c = str.charAt(i);
        if (c < '0' || c > '9') {
            return false;
        }
    }
    return true;
}
private boolean hasOnlyDigits(字符串str){
对于(int i=0;i'9'){
返回false;
}
}
返回true;
}

只使用非常基本的东西:

public boolean containsDigit(String str) {

   int n = str.size();
   for(int i=1, i<n, ++i) {
       if(str.charAt(i).isDigit()) {return true;}      
   }
   return false;
}
public boolean containsDigit(字符串str){
int n=str.size();

对于(int i=1,iYou可以根据正则表达式验证它。
Integer.parseInt()
??@luigimendoza您的意思是什么?@Sajjad有很多关于正则表达式的文献。Java有方法。不客气。它显然不是一个单行解决方案,但甚至没有使用任何接近高级的东西。