暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

JSP项目实训 │ 利用JavaBean实现猜数字游戏

483

【实例名称】  利用JavaBean实现猜数字游戏


1

问题描述


猜数字游戏随机给出一个1~100(包括1和100)的数字,然后让玩家猜是什么数字。玩家可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。经过几次猜测与提示后,玩家最终猜出答案。在游戏过程中,记录玩家最终猜对时所需要的次数,游戏结束后公布结果。

本实例有一个JavaBean(GuessNumber.java),有两个页面getNumber.jsp和guess.jsp。getNumber.jsp页面中使用Random类随机生成一个1~100的整数,并把生成的数赋给JavaBean的answer变量,该页面中也让输入你猜的数字,输入数字后点击“提交”由guess.jsp页面处理数据。guess.jsp页面调用JavaBean对数据进行处理。


2

实现代码


GuessNumber.java代码如下:

package ch09;
public class GuessNumber{
   int answer=0;
   int guessNumber=0;
   int guessCount=0;
   String result=null;
   boolean right=false;
   public void setAnswer(int answer){
      this.answer=answer;
      guessCount=0;
   }
   public int  getAnswer(){
      return answer;
   }
  public void setGuessNumber(int guessNumber){
      this.guessNumber=guessNumber;
      guessCount++;
      if(guessNumber==answer){
         result="恭喜你猜对了!";
         right=true;
      }
      else if(guessNumber>answer){
         result="不好意思,你猜大了!";
         right=false;
     }
     else if(guessNumber<answer){
         result="不好意思,你猜小了!";
         right=false;
     }
     else if(this.answer==-1||this.answer>100){
         result="请输入1-100的整数!";
         right=false;
     }
   }
public int getGuessNumber(){
      return guessNumber;
   }
   public int getGuessCount(){
      return guessCount;
   }
   public String getResult(){
      return result;
   }
   public boolean isRight(){
      return right;
   }
}
getNumber.jsp代码如下:
<%@page import="java.util.Random"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>系统将随机生成一个数</title>
    </head>
    <body>
        <jsp:useBean id="guess" class="ch09.GuessNumber" scope="session"/>
        <%
            Random randomNumbers = new Random();
            int answer=1 + randomNumbers.nextInt( 100 );
            String str=response.encodeRedirectURL("guess.jsp");
        %>
        <jsp:setProperty name= "guess" property="answer"  value="<%=answer%>"/>
        <h3>随系统随机生成了一个1100之间的整数,请猜是什么数?</h3>
        <hr>
        <form action="<%=str%>" method="get">
            输入你的猜的数:<input type="text" name="guessNumber">
            <input type="submit" value="提交">
        </form>
    </body>
</html>
guess.jsp代码如下:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>猜的结果</title>
    </head>
    <body>
        <jsp:useBean id="guess" class="ch09.GuessNumber" scope="session" />
        <%
            String strGuess=response.encodeRedirectURL("guess.jsp"),
            strGetNumber=response.encodeRedirectURL("getNumber.jsp");
        %>
        <hr>
        <jsp:setProperty name="guess" property="guessNumber"  param="guessNumber"/>
        这是第<jsp:getProperty name="guess" property="guessCount"/>次猜。
        <jsp:getProperty name="guess" property="result"/>。
        你猜的数是 <jsp:getProperty name="guess" property="guessNumber"/>。
       <%
            if(guess.isRight()==false){
        %>
        <form action="<%=strGuess%>" method="get">
            请再猜一次:<input type=text name="guessNumber">
            <input type=submit value="提交">
        </form>
        <%
            }
        %>
        <hr>
        <a href="<%=strGetNumber%>">重新开始猜数</a>
    </body>
</html>


3

运行效果


运行以上代码,猜数字游戏运行效果如图1-4所示。


■ 图1 getNumber.jsp的运行效果

■ 图2 guess.jsp页面提示猜“小了”

■ 图3 guess.jsp页面提示猜“大了”

■ 图4 猜的次数以及系统生成的数字


4

源代码下载

关注微信公众号,后台回复关键词 “JSP猜数字” 即可获得完整源代码。


5

参考书籍


《JSP程序设计与项目实训教程(第3版·微课版)》

项目驱动,案例丰富,视频讲解,提供教学课件和源代码。提供课件、参考答案、源码、大纲

ISBN:9787302590446

作者:张志锋、张建伟、宋胜利

价格:89元


内容简介

本书旨在培养读者的Java Web项目开发能力、工程实践能力和创新能力,培育软件工匠精神。全书理论联系实践,以项目为驱动,用项目开发实践串联整个知识体系,结合微课视频系统讲解JSP程序设计技术,通过讨论主题引导思维拓展。全书共分11章,内容包括Web技术简介、JSP常用开发环境介绍、HTML与CSS简介、通信资费管理系统项目实训、JSP基础知识、JSP常用内置对象、数据库基本操作、企业信息管理系统项目实训、JSP与JavaBean、Java Servlet技术和个人信息管理系统项目实训。通过80多个小案例、8个中型项目、3个大项目的强化实践操作,使读者在深入理解、切实掌握基本理论知识的基础上,同步提高工程实践能力。本书可作为普通高等院校Java Web相关课程的教材,也可作为Java Web软件开发人员的技术参考书。





文章转载自清华计算机学堂,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论