设计一个web app,每次产生一个30以内的数字,给5次机会让客户猜测这个数字:

1)如果客户猜的数字比产生的数字值大,则提示“大了”。
2)如果客户猜的数字比产生的数字值小,则提示“小点”

猜对了就过关,猜错Game Over,给玩家重玩的机会。

JSP代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<% String result=(String)request.getAttribute("result");if(result!=null){out.write("<font color='red'>"+result+"'</font>");}
%><% Integer times=(Integer)request.getAttribute("times");if(times!=null){out.write("你还有"+(5-times)+"次机会!");}
%>
<br/>
<form action="/zxz/zxz" method="POST">请输入你的数(20以下):<input type="text" name="Lucy" /><br/><%if(times!=null){%><input type="hidden" name="times" value="<%=times %>"/><%        }%><input type="submit" value="竞猜" />
</form>
</body>
</html>

Servlet代码:

package hah;import java.io.IOException;
import java.util.Random;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;/*** Servlet implementation class zxz*/
@WebServlet("/zxz")
public class zxz extends HttpServlet {private static final long serialVersionUID = 1L;int answer;public void newGame() {Random random=new Random();answer=random.nextInt(20);}public zxz() {newGame();}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=utf-8");String lucyStr=request.getParameter("Lucy");Integer lucyNb=null;System.out.println("答案:"+answer);if(!lucyStr.equals("")) {lucyNb=Integer.parseInt(lucyStr);}Integer times=1;String timeStr=request.getParameter("times");if(timeStr!=null&&!timeStr.equals("")) {times=Integer.parseInt(timeStr)+1;}if(times<5) {String result="";if(lucyNb>answer) {result="大了";            }else if(lucyNb<answer) {result="小了";}else if(lucyNb==answer) {result="中了";times=null;}request.setAttribute("times", times);request.setAttribute("result", result);}else {newGame();response.getWriter().write("游戏结束<a href='"+request.getContextPath()+"/One.jsp'>再来一把</a>");return;}request.getRequestDispatcher("/One.jsp").forward(request, response);}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}

总结:

  1. 使用标签hidden可以隐式传递数据而不被用户发现 可以用来记录次数 如:
<input type="hidden" name="times" value="<%=times %>"/>
  1. Servlet是用来跳转和执行逻辑代码的,JSP是用来展示数据的
  2. request.getParameter("Lucy");如果参数不存在则返回null的字符串值
  3. 跳转有两种方式 一个是页面跳转 地址要写项目名+jsp或者servlet

另一个是转发共享了request的域对象,地址可以直接写jsp或者servlet 不要项目名 而且项目名和jsp或者servlet前都要加“/” 不然就是相对位置了
如:

<form action="/zxz/zxz" method="POST">
//转发
request.getRequestDispatcher("/One.jsp").
forward(request, response);

使用JSP技术实现百万富翁猜数字游戏相关推荐

  1. JSP设计猜数字游戏

    说明: 这个项目其实是在去年上课做的吧,最近很多东西忘了,一查发现自己还做过这么多作业.之前学Android的时候也有做一些简单的页面实现,因为电脑上软件一直卸载,下载,很多文件都没了,心痛.我看能不 ...

  2. Dev C++,一个好玩的猜数字游戏

    周末了,看了一点代码,发现有一个好玩的数字游戏,贡献给大家,个人觉得还是挺好玩的. 说个题外话,之前写的文章,都是零散的,主要是时间的原因,最近事情有点杂,一说到这个事情,我就心生愧疚,好像我一直说事 ...

  3. python随机猜数字游戏_Python小游戏——猜数字教程(random库教程)

    今天来开发一个简单的数字逻辑游戏,猜数字(数字炸弹) 首先开发游戏第一件事,了解需求. 猜数字游戏规则: 计算机随机生成一个指定范围的数字,由玩家来猜测, 之后计算机会根据玩家提供数字来与自己生成的数 ...

  4. c语言实现通讯录_C语言实现双人猜数字游戏

    点击上方"学士科技",选择"设为星标" 资讯.技术干货第一时间送达! C语言合集(基础.进阶.高级)通通有,点我点我      C语言实例 01.C语言编写简单 ...

  5. python猜数字1001untitled_如何利用Matlab GUI制作猜数字游戏

    第二堂课布置了一个Mission Impossible:如何利用Matlab GUI制作猜数字游戏 这个任务对很多人来说会非常困难,首先要面对的是 Matlab GUI的机制,这是完全未知的机制,在面 ...

  6. 一个简单的猜数字游戏(附带关机惩罚)

    作为一个初学C语言的小白,一个简易的C语言小游戏无非是提高了我对这门计算机语言的兴趣.接下来我将从提高自己的角度讲解一下这个简单的猜数字游戏,希望大家多多包涵. ------------------- ...

  7. 猜数字java程序设计分析_JAVA程序设计课程设计-猜数字游戏设计

    JAVA程序设计课程设计-猜数字游戏设计 课 程 设 计 报 告课程设计名称 Java 程序设计 专 业 计算机科学与技术 班 级 2 班 学 号 08030212 姓 名 指导教师 成 绩 2011 ...

  8. java猜数字游戏课程设计报告_Java程序设计课程设计-猜数字游戏设计.doc

    Java程序设计课程设计-猜数字游戏设计.doc 还剩 23页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 课 程 设 计 报 告课程设计名称 Jav ...

  9. java猜字母游戏jsp_jsp+servlet实现猜数字游戏

    jsp+servlet实现猜数字游戏主要用到了servlet方面的session,HttpServletResponse类中的sendRedirect()方法. step1,客户访问或刷新getNum ...

最新文章

  1. spring配置详解-三种对象创建方式_
  2. 碉堡!Mysql8.0竟然可以直接操作json文档了。。。
  3. 前端学习(1335):mongoDB导入数据
  4. linux apache 多域名配置,apache-2.4.12基于域名访问的多虚拟主机配置
  5. C--计算求1+2!+3!+.......+n!
  6. 末日帝国——Agile公司的困境
  7. Ubuntu无法安装Xmind rpm包
  8. C4D插件X-Particles粒子特效(八)
  9. postman tests获取cookie
  10. 初探MySQL的语句之一
  11. 如何利用CRM系统做好客户关系管理?
  12. 玩转Python脚本开发-01
  13. 快速写出高质量IEEE论文的经验总结
  14. cmd窗口最小化运行
  15. C++头文件(xxx.h)与源文件(xxx.cpp)的关系
  16. 证券投资深度学习_Deep Gamblers: Learning to Abstain with Portfolio Theory(理解)(github代码)...
  17. 联想财报里的伏笔:智能化制造迎来新一轮发展契机
  18. 荣获百度机器阅读理解第一名的团队,他们想分享这些给你!
  19. android基础题型
  20. SendMessage消息是否进入消息队列

热门文章

  1. vue 上下键li_Vue实现点击箭头上下移动效果
  2. 记一次对DZ的渗透.(一句话木马与图片,文件上传解析漏洞)
  3. 永大自动扶梯服务器,永大精品扶梯系列项目集萃,刷新城市天际线
  4. 网络通信原理:为什么一个IP账号通过路由器可供多人同时使用?
  5. html让图片位置固定缩放不改变为HI,CSS Sprites技术实现一张图片上很多小图片,分别定位到网页的不同位置...
  6. 超干货!为了让你彻底弄懂MySQL事务日志,我通宵肝出了这份图解
  7. 北京理工计算机学院马新宇,赵三元_北京理工大学计算机学院
  8. ubuntu应用商店加载不出来_安装Ubuntu教程
  9. 浏览器兼容:火狐不支持webq格式图片
  10. linux会自动平板电脑,GitHub - Dysonnnn/linux-chuwi_Vi10: 驰为Vi10 平板电脑装linux系统