JSP----竞猜随机数(eclipse)

一:问题描述:

        通过系统自动生成随机数(整数),用户猜测该随机数的值,系统会根据用户输入的大小提示用户是猜大了还是猜小了,用户根据系统提示信息重新进行猜测,最终,系统会记录用户一共猜测了 几次猜到了正确结果,并给出该随机数的值。

二:技术:jsp内置对象实现

代码如下:

竞猜页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import ="java.util.Random" import="java.util.Scanner"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%!
    	Random random =new Random();
	
	%>
	<%
   		//产生的随机数在未猜中之内唯一
		if(session.getAttribute("guess_m")==null){
			//产生随机数
			int guess=random.nextInt(5);
			//类型转换,方便传值,int-->String
			String guess_string=Integer.toString(guess);
			session.setAttribute("guess_number_demo", guess);
		}
   	 	
   	 	
	%>
	<form action="check.jsp" method="Get">
	
	
	请输入你要竞猜的数字:<input type="text" name="number"><br>
	<!-- 第一次不显示提示信息 -->
	<%
	if(session.getAttribute("guess_m")!=null){
	%>	
	提示信息:<%=session.getAttribute("guess_m")%>	
	<% }%>
	
				
	
	
	<input type="submit" value="提交">
	
	</form>
</body>
</html>

检查页面:

<%@ 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>
	<%!
		//定义访问次数的变量
		private static int count=0;
		//接受随机数的变量
	 	private static int number=0;
	 
	%>
	<%
	
	
		//接受随机数
		String guess_number="";
		//判断所传参数是否为空
		if(session.getAttribute("guess_number_demo")!=null){
			//类型转换,String-->int
			//类型转换,因为session设置值,要的是字符串
			 guess_number=session.getAttribute("guess_number_demo").toString();
			 number = Integer.parseInt(guess_number);
		}
	
			
		
		
		//接受用户输入的数据
	
		String name=request.getParameter("number");
		
		int num=0;
		//判断所传数据是否为空
		if(name!=null&&!name.equals("")){
			try{
				//不为空强制转换为int
				num=Integer.parseInt(name);
			}catch(NumberFormatException e){
				
			}
			
		}
	
		  
	
       //流程判断,随机数与用户的数据谁大谁小
      
         if(num>number){
        	 
        	// out.println("猜大了");
        	 //次数加1,设置提示信息,跳转到猜的页面
        	 count++;
        	 session.setAttribute("guess_m", "猜大了");
        	 response.sendRedirect("guess.jsp");
        	 
             
         }else if(num<number){
        	 
        	 //out.println("猜小了");
        	 //次数加1,设置提示信息,跳转到猜的页面
        	 count++;
        	 session.setAttribute("guess_m", "猜小了");
        	 response.sendRedirect("guess.jsp");
        	 

         }
         else {
        	 
        	//次数加1,传次数和随机值给猜中页面,跳转到猜中页面
        	 
        	 count++;
        	//类型转换,因为session设置值,要的是字符串
        	 String count_string=Integer.toString(count);
        	//传次数和随机值给猜中页面
        	 session.setAttribute("count", count_string);
        	 session.setAttribute("num", guess_number);
        	 //跳转到猜中页面
        	 response.sendRedirect("result.jsp");
        	
            
         }
         
         
         
     
	%>
</body>
</html>

结果显示页面:

<%@ 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>
	<%

	//接受猜的次数的值
	int number_count=0;
	String guess_number_count="";
	//判断所传数据是否为空
	if(session.getAttribute("count")!=null){
		//数据类型转换String-->int
		guess_number_count=session.getAttribute("count").toString();
		number_count = Integer.parseInt(guess_number_count);
	}

		
	
	//接受随机数值	
	int number=0;
	String guess_number="";
	//判断所传数据是否为空
	if(session.getAttribute("num")!=null){
		//数据类型转换String-->int
		 guess_number=session.getAttribute("num").toString();
		 number = Integer.parseInt(guess_number);
	}
	%>
	
	输入了<%=number_count%>次<br />
	随机数是:<%=number %>
</body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值