简体   繁体   English

Java扫描器检查字符串或整数

[英]Java scanner check if string or int

I have a scanner running where the user can input either strings or integers. 我有一台扫描仪正在运行,用户可以在其中输入字符串或整数。 There are only specific characters the user can enter such as a,e,u,r and the number can be anything. 用户只能输入特定的字符,例如a,e,u,r,并且数字可以是任何字符。 The check runs if its a letter but fails if the user enters a number. 如果检查是字母,则运行检查,但如果用户输入数字,则检查失败。

String temp = scanner.next();
String[] validToken = {"x","e","u","r","+","-","/","*",};
for (String validToken1 : validToken) {
    if (temp.equals(validToken1) || temp.equals("\\d+")) {
        tokenCheck = true;
    } 
}

当您更换应固定equalsmatches ,因为等于要检查如果字符串字面\\d+ ,这不是正则表达式。

Change equals to matches . 更改等于matches matches is used to check whether or not string matches a particular regular expression. matches用于检查字符串是否与特定的正则表达式匹配。

if (temp.equals(validToken1) || temp.matches("\\d+")) {
                     tokenCheck = true;
                } 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM