要求是:实现在测试类中只能用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表示对文件不做说明
}
}
}