public static boolean isNumber(String s) 
{
String ss = s.replaceAll("^[0-9]+$","");
if (ss.equals(""))
{
     return true;
}else{
    return false;
}
}

解决方案 »

  1.   

    Pattern p = Pattern.compile("^[0-9]+$");
    Matcher m = p.matcher("245788");
    boolean b = m.matches();
    System.err.println(b);
    一定要JDK1.4
      

  2.   

    我是JDK1.3啊!String类型没有replaceAll方法,有没有其他方法啊?
      

  3.   

    import java.util.regex.Pattern;
    import java.util.regex.Matcher;
      

  4.   

    楼上的 JDK1.3没有上面的包啊!
      

  5.   

    try{
        int i = Integer.parseInt("245788");
        return true;
    }
    catch(Exception e){
        return false;
    }不过这方法好像不太好
      

  6.   

    boolean flag = true;
    String str = "5891257";
    for(int i = 0; i < str.length(); i ++){
        if(!Character.isDigit(str.charAt(i))){
            flag = false;
            break;
        }
    }
      

  7.   

    去down个jdk1.4吧,这样就能用Pattern了
      

  8.   

    String s = "12W512";
    System.err.println(s.matches("^[0-9]+$"));
      

  9.   

    如果你的jsdk是1.3就不能用regular expression,其它选择是:public boolean isNumeric(String str)
    {
      try
      {
        Integer.parseInt(str);
        return true;
      }
      catch(Exception e)
      {
        return false;
      }
    }
      

  10.   

    直接用Interger.parseInt()如果抛出异常,就说明这个String里边不完全是数字,反之,就是纯数字的串