2 u014712596 u014712596 于 2014.04.14 19:14 提问

用一个JSP页面编写一个猜数字游戏

系统内部生成一个0-100之间的随机数,提供一个表单让用户来猜这个数字是多少,若猜大了,出现“大了”的提示,若猜小了,出现“小了”的提示,直到用户猜到正确的数字时,提示“猜对了!”,并统计用户猜了几次才猜对。
我的代码:

**<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<。html>


My JSP 'index.jsp' starting page

<%!
public class bean{
int answer;
int guessnum;
int count;
int state;
public void init(){
    double d=Math.random();
    d=d*100;
    answer=(int)d;
    count=0;

}

}
%>
<%
bean b= new bean();
b.init();
session.setAttribute("state", 0);
session.setAttribute("answer",b.answer);
switch(Integer.valueOf((session.getAttribute("state").toString()))){
case 0:{
session.setAttribute("state", 1);
%>
现在已经准备好了一个随机数,来猜一猜吧。correct answer:<%=session.getAttribute("answer")%>//这个是看看正确答案猜的对不对
请输入一个0-100的整数:
<。input name="guess" type="text"><。input type="button" value=提交 onclick="submit()">
<%
break;
}
case 1:{
b.guessnum=Integer.parseInt(request.getParameter("guess"));
b.count++;

    if(b.guessnum<b.answer){

%>
你输入的数小了,再输入一个比它大的数:<。input name="guess" type="text"><。input type="button" value=提交 onclick="submit()">
<%
}else if(b.guessnum>b.answer){
%>

你输入的数大了,再输入一个比它小的数:<。input name="guess" type="text"><。input type="button" value=提交 onclick="submit()">

<%

}else{
%>
恭喜你!猜对了!你一共猜了<%= b.count %>次,再来一次吗?<。input type="button" value=是 onclick="submit()">
<。input type="button" value=否 onclick="Window.close()">
<%

session.setAttribute("state", 0);
}
}
}
%>
<。/html>** 因为部分代码无法显示,因此在他们之间加个句号
每次输入了一个数,提交后,重新生成了一个新的随机数,并且submit()后没有按照我的预想进行到下一个case:1{...}中的判断代码。还有init()后设置session.setAttribute("state", 1),会出现error。不懂,求指导!该如何修改,或者用java bean?

Csdn user default icon
上传中...
上传图片
插入图片