除非你输入的是'0123456789',否则永远不会执行到else语句。如果你想判断输入的是否一个
数值,你应该做一个循环。

解决方案 »

  1.   

    把下面这一句:
      if (Num.indexOf(sNum)==-1){
    改一下:
      if (sNum.indexOf(Num)==-1){
    我的测试代码:
    public class TestNumber
    {
    public static void main(String[] args)
    {
    String Num="67";
    String sNum="0123456789";

    if (sNum.indexOf(Num)==-1)
    {
    System.out.println("Your input isn't a Number.");
    System.out.println("Your input is "+Num+".<br>");
    }
    else
    {
    System.out.println("Right! Your input is "+Num+"!");
    }
    }
    }
    声明:如果你是检测一位数字,或者数字属于"0123456789"的一个字串时,
    可以用这种方法,否则,方法无效!
        
      

  2.   

    我给你写个吧!不过这个方式仅仅能检测整形数据。
      String num=request.getParameter("Num");
      boolean bln;
    try
    {
    int n = Integer.parseInt(num);
                                bln = true;
    return bln;
    }
    catch(NumberFormatException e)
    {
                                bln = false;
    return bln;
    } if (bln==true)
    {
    out.println("num IS NUMBER!");
    }
    else 
    {
    out.println("num IS NOT NUMBER!");
    }