猜数字小游戏(有次数限制)

要求是:实现在测试类中只能用5次,超过5次提示:游戏试玩已结束,请付费

按照要求,可以利用Properties类实现,propertie类与i/o流结合,文本中存储一个键和值,其中值为对应的猜的次数,当值到5的时候终止程序

步骤:首先往文本中存储初始值,然后利用properties方法进行获取值,之后对值进行判断,如果超过5次,就终止程序,如果没有就运行猜数字游戏,当一轮游戏进行完之后,

给前面properties获取到值加上1,再对原先存在值进行跟新,之后再将数据存储到文本文件中实现对文本的更新

这是猜数字小游戏的代码:

利用random进行获取随机数

之后对随机数定义范围

然后进行循环

package com.edu.homework;

import java.util.Random;
import java.util.Scanner;

public class GuessGame {
	public static void playGame(){
		Random rd = new Random();
		int j = rd.nextInt(100)+1;
		while (true) {
			System.out.println("请输入你要猜的数字:");
			Scanner sc = new Scanner(System.in);
			int i = sc.nextInt();
			if (i>j) {
				System.out.println("大了");
			}else if (i<j) {
				System.out.println("小了");
			}else if (i==j) {
				System.out.println("猜对了");
				break;
			}
		}
	}
}
这是主程序,实现对数据的判段和修改

package com.edu.homework;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;

public class NumberGame {
	public static void main(String[] args) throws IOException {
		//创建对象
		Properties p = new Properties();
		
		//读取文件中的数据
		p.load(new FileReader("count.txt"));
		
		//将文件中键的值转换成整型好实现判段功能
		int num = Integer.parseInt((String) p.get("count"));
		
		//判断
		if (num>3) {
			System.out.println("免费试玩已经结束,继续请充值");
		}else {
			//开启游戏
			GuessGame.playGame();
			//值加1
			num++;
			//修改内存中的值
			p.setProperty("count", num+"");
			//将修改后的数据写入到文本文件中
			p.store(new FileWriter("count.txt"), null);//null表示对文件不做说明
		}
	}
}





以下是一个简单的 JSP 猜数字游戏限制次数为5次: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>猜数字游戏</title> </head> <body> <h1>猜数字游戏</h1> <% // 生成一个1~100之间的随机数作为答案 int answer = (int) (Math.random() * 100) + 1; // 初始化次数为0 int times = 0; // 初始化提示信息为空字符串 String message = ""; if (request.getMethod().equals("POST")) { // 获取用户输入的测数字 int guess = Integer.parseInt(request.getParameter("guess")); times++; if (guess == answer) { // 对了,显示提示信息并结束游戏 message = "恭喜你对了!"; } else if (guess < answer) { // 小了,更新提示信息 message = "小了,再试一次!"; } else { // 大了,更新提示信息 message = "大了,再试一次!"; } } if (times >= 5) { // 次数用完了,显示正确答案并结束游戏 message = "很遗憾,次数用完了,正确答案是" + answer + "。"; } %> <p><%= message %></p> <% if (times < 5) { %> <form method="post"> <label for="guess">请输入1~100之间的整数:</label> <input type="number" name="guess" id="guess" required> <button type="submit">!</button> </form> <% } %> </body> </html> ``` 在上面的代码中,我们使用了 JSP 内置对象 `request` 来获取用户提交的表单数据。如果请求方法是 POST,说明用户提交了表单,我们就获取用户输入的测数字,并判断它与答案的大小关系,更新提示信息。同时,次数加1。 如果次数已经达到了5次,我们就显示正确答案并结束游戏。 如果次数还没有达到5次,我们就显示一个表单,让用户输入测数字。 注意到在 JSP 中,我们可以使用 `<% %>` 标签来插入 Java 代码。在上面的代码中,我们使用了 `<%=` 标签来输出提示信息。这个标签会自动转义输出的内容,防止 XSS 攻击。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值