假如给定一个字符串,怎么判断这个字符串里面的某个字符是不是一个数字
如:String str="danjd3t53"
其中str.charAt(5)就是数字3而不是字母

解决方案 »

  1.   

    str.matches("[a-zA-Z]{5}\\d");
    是对比danjd3
      

  2.   

    charAt()出来的是字符,asc表里面数字是从30 - 39的吧。 处于这个范围的就是数字啦。
      

  3.   


    public static void main(String[] args) {
    System.out.println(isNumber("danjd3t53", 5));
    } public static boolean isNumber(String s, int p) {
    boolean flag = false;
    char c = s.charAt(p);
    if (c >= '0' && c <= '9') {
    flag = true;
    }
    return flag;
    }
      

  4.   

    取ASCII比较的话:是48 - 57
    如果直接用字符比较也是可以的。c >= '0' && c <= '9'
      

  5.   

    用assic码可以,用正则也可以。想怎么弄就怎么弄吧。
      

  6.   

    嘿嘿,thanks,刚做着突然思路就断了,现在解决了,谢谢大家哦,第一次发帖