java页面如何实现数字猜大小的游戏?
Admin 2023-06-05 群英技术资讯 1138 次浏览
这篇文章给大家分享的是“java页面如何实现数字猜大小的游戏?”,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下吧。设计一个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);
}
}
总结:
a. 使用标签hidden可以隐式传递数据而不被用户发现 可以用来记录次数 如:
<input type="hidden" name="times" value="<%=times %>"/>
b. Servlet是用来跳转和执行逻辑代码的,JSP是用来展示数据的
c. request.getParameter(“Lucy”);如果参数不存在则返回null的字符串值
d 跳转有两种方式 一个是页面跳转 地址要写项目名+jsp或者servlet
另一个是转发共享了request的域对象,地址可以直接写jsp或者servlet 不要项目名 而且项目名和jsp或者servlet前都要加“/” 不然就是相对位置了
如:
<form action="/zxz/zxz" method="POST">
//转发
request.getRequestDispatcher("/One.jsp").
forward(request, response);“java页面如何实现数字猜大小的游戏?”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业技术相关的知识可以关注群英网络网站,小编每天都会为大家更新不同的知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家详细介绍了jsp实现登录验证的过滤器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要为大家介绍EL表达式Expression Language表达式语言 是一种在JSP页面获取数据的简单方式,只能获取数据,不能设置数据,需要的朋友可以参考下
下面小编就为大家分享一篇浅谈SpringMVC jsp前台获取参数的方式 EL表达式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
这篇文章主要介绍了JSP实时显示当前系统时间的四种方式示例解析,文章通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
今天小编就为大家分享一篇关于在JSP页面中动态生成图片验证码的方法实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008