Java扫描程序,包含数字

时间:2013-11-15 20:52:30

标签: java numbers java.util.scanner

String[] invalidChars = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
         Scanner sc = new Scanner(System.in);
         try {
             String country = sc.next();
             String state = sc.next();
             String city = sc.next();

             if(country.contains(invalidChars) || state.contains(invalidChars) || city.contains(invalidChars)) {

             }
         }
         catch(Exception e){}

如何判断if语句以检查字符串是否包含任何数字?我尝试了数组购买我得到一个错误,说“String []无法转换为CharSequence”?有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您的方案中最直接的方法是逐个遍历无效字符。

for (String invalidChar : invalidChars) {    
    if(country.contains(invalidChar ) || state.contains(invalidChar ) || city.contains(invalidChar )) {

    // do something
    break;
    }    
}

更简洁的方法是使用正则表达式检查[0-9]上的匹配。

答案 1 :(得分:1)

您想使用正则表达式。

yourString.matches(".*\\d.*");  // returns true if the string contains a number