<%@ 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. IPC之syscall.c源码解读

    // SPDX-License-Identifier: GPL-2.0 /* * sys_ipc() is the old de-multiplexer for the SysV IPC calls. ...

  2. IoU-Net论文笔记

    原论文标题:Acquisition of Localization Confidence for Accurate Object Detection 1. 前言 Megvii在ECCV 2018上的一 ...

  3. mac+django(1.8.2)+uwsgi+nginx 部署

    一. uwsgi 安装 检验 配置uwsgi.ini 1. 安装 pip3 install uwsgi 2. 检验 方法一(uwsgi启动文件): test.py内容如下: def applicati ...

  4. YII2.0.12兼容PHP7.2版本升级

    YII2.0.12兼容PHP7.2版本升级 报错信息: FastCGI sent in stderr: "PHP message: PHP Fatal error:  Cannot use ...

  5. Oracle之:Function :strFormatDate()

    create or replace function strFormatDate(i_datestr in varchar2) return date is begin if i_datestr is ...

  6. MongoDB——morphia

    禁止保存className:@Entity(noClassnameStored = true) https://stackoverflow.com/questions/17719018/a-field ...

  7. 【winfrom-Button】设置带图标样式的Button

    this.myButton.BackColor = System.Drawing.SystemColors.Control; this.myButton.FlatAppearance.BorderCo ...

  8. JavaScript关系运算符

    ★关系运算符 通过关系运算符可以比较两个值之间的大小关系 如果关系成立它会返回true,如果关系不成立立即返回false   ㈠大于号 (>) ⑴判断符号左侧的值是否大于右侧的值 ⑵如果关系成立 ...

  9. maven打断点报错

  10. luogu【模板】线性筛素数 (Miller-Rabin素数测试模板)

    这个感觉还是挺好理解的,就是复杂度证明看不懂~ Code: #include <cstdio> #include <algorithm> #include <cstrin ...