<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>百万富翁数字竞猜游戏</title>
</head> <body>
<%
//从request域中取出信息
String msg = (String)request.getAttribute("msg");
if(msg!=null){
out.write("<font color='red'>"+msg+"</font>");
}
%>
<%
//获取竞猜次数
Integer times = (Integer)request.getAttribute("times");
if(times!=null){
out.write(",你还有"+(5-times)+"次机会!");
}
%> <form action="/GuessServlet" method="post">
请输入30以下的整数:<input type="text" name="lucyNo"/><br/>
<%
if(times!=null){
%>
<input type="hidden" name="times" value="<%=times %>"/>
<%
}
%>
<input type="submit" value="开始竞猜"/>
</form>
</body>
</html>
package com.loaderman.demo;

import javax.servlet.ServletException;
import javax.servlet.http.*;
import java.io.IOException;
import java.util.Random; public class TestServlet extends HttpServlet { //产生一个幸运数字
int answer; /**
* 新游戏方法。产生一个新的幸运数字
*/
public void newGame(){
Random random = new Random();
answer = random.nextInt(30);
} public TestServlet(){
//第一次访问
newGame();
} public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8"); //1.接收输入的数字
String lucyNoStr = request.getParameter("lucyNo");
System.out.println("答案:"+answer);
Integer lucyNo = null;
//2.判断幸运数字和用户的数字
//2.1 把用户输入的数字转成整数
if(lucyNoStr!=null || !lucyNoStr.equals("")){
lucyNo = Integer.parseInt(lucyNoStr);
} //标记记录当前竞猜的次数
Integer times = 1;//初始值 //接收客户当前竞猜次数
String timesStr = request.getParameter("times");
if(timesStr!=null && !timesStr.equals("")){
times = Integer.parseInt(timesStr)+1;
} if(times<5){
String msg = "";
//比较
if(lucyNo>answer){
//大了
msg = "可惜,大了点";
}else if(lucyNo<answer){
//小了
msg = "可惜,小了点";
}else if(lucyNo==answer){
//等于,中奖
msg = "恭喜你,中得1000000元现金大奖,请带身份证到xxx地方领奖!";
times = null;
}
//把当前竞猜的次数放入域对象
request.setAttribute("times", times);
//把信息放入域对象中
request.setAttribute("msg", msg);
}else{
//产生新的幸运数字
newGame();
//游戏结束
response.getWriter().write("游戏结束。<a href='"+request.getContextPath()+"/guess.jsp'>再来一盘</a>");
return;
}
//转发
request.getRequestDispatcher("/05.guess.jsp").forward(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}

JSP学习案例--,竞猜游戏的更多相关文章

  1. JSP学习网站

    JSP学习网站 http://www.yiibai.com/jstl/ http://www.w3cschool.cc/jsp/jsp-jstl.html

  2. JSP学习笔记

    JSP学习笔记 Jsp网页主要分为Elements与Template Data两部分. Template Data:JSP Container不处理的部分,例如HTML内容 Elements:必须经由 ...

  3. Sql Server触发器案例(初学者学习案例)

    万事都是从最简单的一句“hello world”开始,所以我接下里介绍的sql触发器学习案例也从最简单的案例来说明分析: 1.首先创建表,这几张表你们也许很熟,在百度搜触发器案例都是使用这2张表 Cr ...

  4. JSP学习笔记(三):简单的Tomcat Web服务器

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  5. JSP 学习二

    在基于昨天对JSP学习的基础上,今天我们来学习JSP的指令和JSP 对中文的处理. 一.JSP指令简介 JSP 指令是为JSP引擎而设计,它并不直接产生任何可见的输出,而只是告诉引擎如何处理JSP页面 ...

  6. java web jsp学习笔记--概述-常用语法,指令,动作元素,隐式对象,域对象

     JSP学习笔记 1.什么是jsp JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术.JSP/Servlet规范.JS ...

  7. JSP学习(一)JSP基础语法

    JSP基础语法 1.JSP模版元素 JSP页面中的HTML内容称之为JSP模版元素. JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观. <%@ page language=&quo ...

  8. (转) jsp学习笔记

    fromhttp://www.cnblogs.com/tao975/p/4445070.html 什么是JSP JSP的优势 JSP的劣势 JSP与PHP的比较 JSP工作原理 JSP的九大内置对象 ...

  9. 在控制台中实现“单词竞猜”游戏 C# 猜词游戏

    场景 设计规则 a) 这是一个单人玩的游戏. b) 可以分三个级别,分别是高级.中级.低级.不同级别对应的单词系列也不一样.要求一旦玩家选定了要玩的级别,应当先提示它关于此级别最高分是多少,是谁创下的 ...

随机推荐

  1. 记录旧手机(米6)安装Linux(Ubuntu16.04)踩过的坑

    旧的小米6在抽屉吃灰半年,一直没想好要怎么处理,于是就想着安装Linux. 完整教程来自https://blog.csdn.net/Greepex/article/details/85333027 原 ...

  2. Percona MongoDB 4 搭建副本集

    什么是副本集: 是一组维护相同数据集的mongod进程 提供冗余,自动故障转移和高可用性 提供读取可伸缩性 内部概念或多或少与MySQL的概念相似 PRIMARY概念与MySQL复制中的MASTER大 ...

  3. Codeforces Round #454 D. Power Tower (广义欧拉降幂)

    D. Power Tower time limit per test 4.5 seconds memory limit per test 256 megabytes input standard in ...

  4. BPR贝叶斯个性化排序算法

    全序关系:集合中的任两个元素之间都可以比较的关系.

  5. 实际应用脚本备份1——Ubuntu下应用升级脚本与执行方法

    程序自动更新脚本,命名为makefile: build:run run: killall java /webapps/‘应用目录名’/ /webapps/ ‘应用目录名’/ cd /opt/apach ...

  6. git报错remote: error: cannot run hooks/post-receive: No such file or directory

    错误情况如下图所示: 如果你也显示这个错误但是其实在该路径上有上有这个文件,那么显然你遇到和我一样的情况,即你是Windows下创建的文件,但是试图在Lunix系统去打开它.这是在Windows下调用 ...

  7. JS 函数基础

    函数简介 函数 函数也是一个对象 函数中可以封装一些功能(代码),在需要时可以指向这些功能(代码) 函数中可以保存一些代码在需要时调用 使用typeof检查一个函数对象时,会返回function 创建 ...

  8. MariaDB(MySql)使用储存过程和随机函数插入10万条数据

    ))default charset =utf8; #定义一个随机切割字符串的函数 delimiter // create function randStr() ) begin ) default 'A ...

  9. AngularJs-变量

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  10. Luogu P4331 [BOI2004]Sequence 数字序列 (左偏树论文题)

    清晰明了%%% Fairycastle的博客 个人习惯把size什么的存在左偏树结点内,这样在外面好写,在里面就是模板(只用修改update). 可以对比一下代码(好像也差不多-) MY CODE # ...