java - 在字符串中检查字母或 0 的问题。[JAVA]

标签 java loops if-statement for-loop

我是 java 的新手,遇到了一个我似乎无法解决的问题。

我试图确保在充满数字的字符串中没有字母或 0。如果字符串只包含数字,我希望它返回 true,如果其中有字母或 0,我希望它返回 false。

请注意,我不想要任何对我来说太复杂的东西,例如 RegEx,所以如果您能尽可能地保持它的基本性,我将不胜感激。

例如。 “123456789”= ,“98765x321”= ,“46813079”=

到目前为止,这是我的代码:

private static boolean isCorrectSyntax (String str){

    boolean trueCheck = false;
    int i = 0;
    char charCheck = str.charAt(i);

    if(str != null && str.length() == 9){

        for(i = 0; i < 9; i++){

            if (Character.isLetter(charCheck) || charCheck <= 0){
                trueCheck = false;
                break;
            }
            else{
                trueCheck = true;
            }   
        }   
    }

最佳答案

您可以检查 indexOf() 0 首先,如果它的计算结果为 -1,这意味着字符串不包含 0,然后尝试 parseLong()字符串并处理 NumberFormatException。如果有异常,那么你的测试失败。

如果数字字符串很大,你可以去BigInteger() ,但我认为这太矫枉过正了。

这些是指针,您可以围绕它开发代码。

关于java - 在字符串中检查字母或 0 的问题。[JAVA],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17751513/

相关文章:

javascript - 为什么我无法减少数组?

python - 验证值仍然导致类型错误?

java - IF 语句只有在它前面有一个它正在测试的值的 'sysout' 时才会执行

c# - 为什么 if 语句有效但 switch 语句无效

java - Glassfish v3/JNDI 入口找不到问题!

java - 如果用户有有效 session ,如何显示主页?

java - catch 和 finally 中 return 语句的行为

java - if/else "last resort"while 在循环中

python - 我制作了这个算法来告诉你一个数字是否是质数,但我不明白为什么不同缩进级别上的 'if-else statement' 有效

java - 我可以自动将现有文本传递到方法参数中吗?