游戏类
package Game;
import java.util.Random;
import java.util.Scanner;
//需求:猜数字游戏,每次键盘录入一个数字,通过比较后,给出提示,一共可以玩三次,每次允许答错三次
//游戏类
public class GuessNumber {
public static void play(){
// 产生一个随机数,数字的范围是0-100
Random r = new Random();
int num = r.nextInt(100) + 1;
// 键盘录入猜测的数据
for (int i = 0; i < 3; i++) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入数字:");
int guessNum = sc.nextInt();
if (num < guessNum) {
if (i == 2) {
System.out.println("游戏结束,你没有机会了!"+"\t"+"本轮的数字是:"+num);
} else {
System.out.println("猜大了,你还有" + (2 - i) + "次机会!");
}
} else if (guessNum < num) {
if (i == 2) {
System.out.println("游戏结束,你没有机会了!"+"\t"+"本轮的数字是:"+num);
} else {
System.out.println("猜小了,你还有" + (2 - i) + "次机会!");
}
} else {
System.out.println("恭喜你,猜对啦!");
break;
}
}
}
}
测试类,调用游戏类的方法实现
package Game;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
public class Test {
public static void main(String[] args) throws IOException {
/*FileWriter fw = new FileWriter("F:\\develop\\javacode\\_53\\note.txt");
fw.write("count=0");
fw.close();*/
// 从文件中读取数据到Properties集合:用load方法实现
Properties prop = new Properties();
FileReader fr = new FileReader("F:\\develop\\javacode\\_53\\note.txt");
// load(Reader reader) 以简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。
prop.load(fr);
fr.close();
// 通过Properties集合获取到玩游戏的次数
// getProperty(String key) 在此属性列表中搜索具有指定键的属性
String count = prop.getProperty("count");
int num = Integer.parseInt(count);
// 判断次数是否到3次了
if (num >= 3) {
System.out.println("游戏结束!");
} else {
GuessNumber.play();
num++;
prop.setProperty("count", String.valueOf(num));
FileWriter fw = new FileWriter("F:\\develop\\javacode\\_53\\note.txt");
// store(Writer writer, String comments) 将此 Properties表中的此属性列表(键和元素对)以适合使用 load(Reader)方法的格式写入输出字符流。
// 将次数写到文件中
prop.store(fw, null);
fw.close();
}
}
}