你可是使用
Integer.parseInt();如果没有异常说明是整数,
也可以通过Double.parseDouble();判断是不是实数,
但是这两个函数只能判断一定范围内的数字

解决方案 »

  1.   

    楼上的说的好不过我觉得如果是判断数字的话,
    Double.parseDouble(String s);
    要好一些,因为数字不一定都是int
      

  2.   

    api提供的判断方法最终还得一个一个字符去判断。
    asic码在48--57范围之内的就是数字字符。
    String str = "0123456789";
    for(int i=0 ; i < str.length();i ++)
      System.out.println((int)str.charAt(i));
      

  3.   

    刚刚写了一个函数,试试吧:
    ...
      static public boolean analyse(String s)
          throws IOException
      {
        StringReader r = new StringReader(s);
        StreamTokenizer st = new StreamTokenizer(r);
        st.ordinaryChars(48,57);//1-9
        st.ordinaryChar(';');//;    while(st.nextToken() != StreamTokenizer.TT_EOF)
        {
          switch(st.ttype)
          {
    case StreamTokenizer.TT_EOL:
      return false;
    case StreamTokenizer.TT_NUMBER:
      return false;
    case StreamTokenizer.TT_WORD:
      return false;
    default:
      break;
          }
        }    return true;
      }
    ...返回值:false -- 不是
            true -- 是
      

  4.   

    public static boolean IsNum(String strin)
    {
    String s=strin.replaceAll("[0-9;]+","");
    if(s.equals(""))
    {
    return true;
    }else{
    return false;
    }
    }
    接分.