public static boolean isNumber(String validString){
      byte[] tempbyte=validString.getBytes();
      for(int i=0;i<validString.length();i++) {
          //by=tempbyte[i];
          if((tempbyte[i]<48)||(tempbyte[i]>57)){
              return false;
          }
      }
      return true;
  }

解决方案 »

  1.   

    或者
    int temp = 0;
    String str = "";
    str = request.getParameter(....);
    if()//判断字符串不为空
    {
    try
    {
        temp = Integer.parseInt(str);
    }
    catch(Exception e)
    {
        ....//不是整数
    }
    }
      

  2.   

    建议采用第一种方法,后面的方法如果碰到超长整数就派不上用场了
    如果改成
    n = validString.length();
    for(int i=0;i<n;i++) {效率上面会好一点
      

  3.   

    String wux="11234";
        char[] w=wux.toCharArray();
        for(int i=0;i<w.length;i++){
         if(!Character.isDigit(w[i])){
           System.out.println("false");
         }
        }
      

  4.   

    先用Integer.prase方法,如果无异常抛出,则字符串是由数字组成然后你再用indexof方法,寻找.的位置,如果返回-1,则该字符串中没有小数点这样判断出来的字符串,应该就是一个整数了吧
      

  5.   

    public static boolean checkInt(String str){
      int dotcount = 0;
      for(int i = 0;i < str.length();i++){
        char c = str.charAt(i);
        if(c > 57 || c < 48){
           if(c == '.'){
             if(dotcount > 0){
               return false;
             }else{
                dotcount++;
              }
           }else{
             return false;
           }
        }
      }
      return true;
    }