先回答你那个异常处理:
如果字符串是非数字的,或者字符串太长超过Integer 的范围,转换时就会抛出异常

解决方案 »

  1.   

    在类中加上
     public int getAnswer()
        {
          return answer;
        }
     void  setanswer(int answer){
        this.answer=answer;
      }
    之后就可以在JSP用numguess.getAnswer();
    来使用了
      

  2.   

    请问 yoyodd(蓝梦丁丁) 同学,如果抛出异常会怎样?是不是就显示错误页面呢?
      

  3.   

    yulin001122() :能帮我把代码分别加进去吗?我插入之后显示错误。
      

  4.   

    抛出异常:就执行catch里的语句了,不会显示错误页面
      

  5.   

    哦,这里的意思是不是如果输入字符串是非数字的,或者字符串太长超过Integer 的范围程序也可以继续运行,不会因错误的输入而终止?
      

  6.   

    是的,在你的异常catch块里可以做相应的处理,当然你也可以再调用其它的方法,要求用户重新输入啦!
      异常跟错误是两回事,因为有时候我们不能控制用户的输入,环境等因素,所以用异常是必须的!
      

  7.   

    不会,这个是Bean里面的异常,是用户级异常,并且你已经捕捉并处理了它, return -1 就是你的处理结果嘛!
      

  8.   

    public class GuessBean
    {
     int answer;
     int d;
     boolean success;
     String hint;
     int numGuesses;
     public GuessBean() 
     {
      reset();
     }
    public void setGuess(String guess)
    {
     numGuesses++;
     int g;
     try 
     {
      g=Integer.parseInt(guess);
     }
     catch(NumberFormatException e)
     {
       g=-1;      //谁能告诉我这里的异常处理起什么作用?
     } 
    if(g==answer) 
    {
    success=true;
    }
     else if(g==-1) 
     {
      hint="a number next time";
     }
     else if(g<answer) 
     {
      hint="highter";
     }
     else if(g>answer) 
     {
       hint="lower";
     }
    }
    public boolean getSuccess() 
    {
    return success;
    }        public int getAnswer()
        {
          return answer;
        }
        public void  setAnswer(int answer){
             this.answer=answer;
        }
        public String getHint() 
        {
         return ""+hint;
        }
        public int getNumGuesses()
        {
          return numGuesses;
        }
       
       public void reset()
       {
          answer=Math.abs(new Random().nextInt()%100)+1;
          success=false;
          numGuesses=0;

       }

    就是这样,重新编译一下 
    JSP用法与其他几个一样 <%=numguess.getAnswer()%>