我有一个扫描仪在运行,用户可以输入字符串或整数。 用户只能输入特定字符,例如a,e,u,r,数字可以是任何字符。如果是一个字母,则检查运行,但如果用户输入了数字,则检查失败。
String temp = scanner.next();
String[] validToken = {"x","e","u","r","+","-","/","*",};
for (String validToken1 : validToken) {
if (temp.equals(validToken1) || temp.equals("\\d+")) {
tokenCheck = true;
}
}
答案 0 :(得分:2)
将equals
替换为matches
时应该修复,因为使用等于检查字符串是否为字面\d+
,它不是正则表达式。
答案 1 :(得分:2)
更改等于matches
。 matches
用于检查字符串是否与特定正则表达式匹配。
if (temp.equals(validToken1) || temp.matches("\\d+")) {
tokenCheck = true;
}