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”?有什么想法吗?
答案 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