方案one:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="_a3_猜数游戏_1_.jsp" method="post">
请输入一个0~20之间的数字开始猜数游戏:<br>
<input type="text" name="number1"/>
<input type="submit" value="提交"/>
</form>
<%! int i = (int)(Math.random()*20);
int k = 0;
%>
<%
//out.print(i);
int num = 0 ;
String t = request.getParameter("number1");
if(t!=null && !"".equals(t)){
num = Integer.parseInt(t);
k++;
if(num<i){
out.print("你输入的数字太小,请重新输入:");
}else if(num>i){
out.print("你输入的数字大,请重新输入:");
}else{
out.print("恭喜你猜对了,共猜了"+k+"次");
k=0;
}
}
%>
</body>
</html>
上面之所以可以实现猜数的功能是因为将自变量i与k设置为了全局变量
i作为全局变量的作用使得每一次猜数的时候对应的都是同一个随机数
k作为全局变量是因为作为猜数次数的累加
全局变量声明在<%! %>中
方案two:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="_a3_猜数游戏_1_3.jsp" method="post">
请输入一个0~20之间的数字开始猜数游戏:<br>
<input type="text" name="number1"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
下面是:_a3_猜数游戏_1_3.jsp文件
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" errorPage="../error.jsp"%>
<!-- errorPage="../error.jsp" 用来导入错误信息提示的包 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%! int i = (int)(Math.random()*20);
int k = 0;
%>
<%
/* out.print(i); */
int num = 0 ;
String t = request.getParameter("number1");
if(t!=null && !"".equals(t)){
num = Integer.parseInt(t);
k++;
}
if(num<i){
out.print("你输入的数字太小,请重新输入:");%>
<a href="_a3_猜数游戏_1_2.jsp">点我重新输入!</a>
<%}else if(num>i){
out.print("你输入的数字大,请重新输入:"); %>
<a href="_a3_猜数游戏_1_2.jsp">点我重新输入!</a>
<%}else{
out.print("恭喜你猜对了,共猜了"+k+"次");
k=0;
}
%>
</body>
</html>
1、注意上面全局变量的使用
2、上面方案two使用的方案使用了超链接的跳转