java - 如何判断字符串中是否有数字?

标签 java

import java.util.*;

class Dis {

    static boolean Digitinstring(String s) {
        boolean result = false;
        int i, j;
        char[] ch = s.toCharArray();
        int x = ch.length;
        for (j = 0; j < x; j++) {

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

                if (ch[j] == i) {
                    System.out.println("True");
                    result = true;
                } else {
                    result = false;
                }

            }
        }
        return result;
    }

    public static void main(String args[]) {
        System.out.println("Enter the string");
        Scanner ob = new Scanner(System.in);
        String s = ob.nextLine();
        System.out.println(Digitinstring(s));
    }
}

此代码始终给出答案 false。 if 条件不起作用。 我该怎么做才能使其正常工作?

最佳答案

您的代码失败是因为“3”等于 3。字符 3,即您的 ch[j] 永远不会等于实际整数,因为它们具有不同的类型。如果你想让它工作,你应该用这个替换你的 if 条件:

Character.getNumericValue(ch[j]) == i;

一个更简单的方法是简单地使用

Character.isDigit(s.charAt(j)); 

你的整个方法看起来像这样:

public static boolean digitInString(String s){


    for(int i = 0; i<s.length(); i++){

        if(Character.isDigit(s.charAt(i))){
            return true;
        }


    }
    return false; 

}

关于java - 如何判断字符串中是否有数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32416161/

相关文章:

java - NoClassDefFoundError com.google.common.collect.Lists

java - OutOfMemoryError 异常 : Java heap space, 如何调试...?

Java 字符串存储字节数组

java - 使用 @Component 默认 Autowiring

Java - 是否有任何多平台 3D API?

java - 应该执行复数算术的简单应用程序中出现编译错误

java - Java SE 是 Java EE 的先决条件吗?

java - 如何将报告导出为 PDF/A-1a、PDF/A-1b?

java - 调用数组并返回不同数组的方法会给出无法解析 B 到变量错误

java - java出现401错误码时自动登录并重试原始请求