最简单的方法:Integer.getInteger("");

解决方案 »

  1.   

    如果有Exception出来就不全是数字。
      

  2.   

    呵呵  来晚了  扑捉:NumberFormatException !
      

  3.   

    千万不要用Integer.parseInt
    根据异常来判断,那样效率太低了boolean allDigits(String s){
       for(int i=0;i<s.length();i++){
           if(!Character.isDigit(s.chatAt(0))) return false;
       }
       return true;
    }
      

  4.   

    你要的不都是数字:
    是否有0001, 1000这种算不正确的数字,还是正确的,
    如果有这种算不正确的话就用char来比较,其实用Exception也不是很慢啦
    java的Exception机制有了很大的改进.根据异常来判断,那样效率太低了,确实是这样,不过不要过于追求这个根据异常来判断,我觉得是这种时候:
    如:有一个int的数组arr[n];
    你程序这样写:
    try{
       for(int i=0; ; i++)
            arr[i] = i;
    }catch(IndexOutOfBoundsException e){
       
    }
    明明可以用arr.length来做的循环,却用Exception来完成,这种做法是错误的.
      

  5.   

    使用异常来判断就可以了……如果出异常,你就修改String的值就可以了啊
      

  6.   

    .net 里可以直接用 Regex.IsMatch(str, @"^[0-9]+$" );来实现,java里我没想到好办法,用下面的代码试试
    string value = "11111111";
    Pattern p = Pattern.compile("^[0-9]+$");
    Matcher m = p.matcher(value);
    boolean result = m.matches();
    int aa = 0; // 不是数字要设的那个固定值.
    if (result) {
       aa = Integer.parseInt(value);
    }
      

  7.   

    晕掉了,java的string 直接就有这个方法value.matches("^[0-9]+$");
      

  8.   

    来个简单的
    String num="0123456789"
    String x="abc123"
    String z="this is number";
    for(int i=0;i<x.getbytes.length;i++){
    String y=String.valueOf(x.charAt(i));
    if(num.indexof(y)==-1){
    z="not number";
    }
    }
    System.out.println(z);
      

  9.   

    楼上的还算简单呀我也没发现String有matches方法
      

  10.   


    在java语言中,需要对\进行转义
      

  11.   

    用得着这么麻烦吗?
    如下:
    for(int i=0;i<str.length;i++){
        if(str.charAt(i)<'0'||str.charAt(i)>9){
              System.out.println(str+"不全是数字");
        }
        else{
              System.out.println(str+"是数字");
    }
      

  12.   

    判断ASCII值,在条出循环时,改变一个变量值。
      

  13.   

    我还是觉得第一个回帖的方法比较好Integer.getInteger("");