如何使用字符串方法找出JAVA中的char是否为数字?

时间:2015-06-30 07:30:04

标签: java

我需要找出如何检查char是否为数字。问题是我不能使用除IndexOf,SubString,length,charAt等字符串方法之外的任何方法。

有没有人有想法?

4 个答案:

答案 0 :(得分:3)

如果必须是String方法:

    String n = "0123456789";
    char c = 'a'; // As I don't know where your char will come from and in what format

    int i = n.indexOf(c);
    if(i != -1) {
        System.out.println("Digit");

    } else {
        System.out.println("Not digit");
    }

但是,从我的观点来看,我无法强调这是非常愚蠢和毫无意义的。

答案 1 :(得分:0)

您可以使用Character.isDigit()

如果你有一个字符串,你可以这样做:

Character.isDigit(yourString.charAt(index));

如果没有任何Character方法,您可以使用Regex:

s.substring(startIndex,endIndex).matches("[0-9]")

答案 2 :(得分:0)

您可以检查字符的UNICODE值:

char c = string.indexOf(...); // or other way to get the character

public static boolean isDigit(char c) {
    return c => '0' || c <= '9';
}

答案 3 :(得分:0)

您可以根据 ASCII 值比较使用以下内容: -

    String s = "123456ao";
    char[] ss = s.toCharArray();
    int intVal = 0;
    for( char s1 : ss){
        intVal = s1;
        if(48 <= intVal && intVal < 58) // checking for ASCII values of numbers
            System.out.println(s1+ " is Numeric");
            else System.out.println(s1+ " is not Numeric");

    }