特殊操作流——案例:游戏次数
需求:请求程序实现猜数字小游戏只能试玩三次,如果还想玩,提示:游戏已经结束,想玩请充值(www.itcast.cn)
思路:
写一个游戏类,里面有一个猜数字的小游戏
写一个测试类,测试类中有main()方法,main()方法中按照下面步骤完成
从文件中读取数据到Properties集合,用load()方法实现
文件已经存在:game.txt
里面有一个数据值:count=0
通过Properties集合获取到玩游戏的次数
判断次数是否到达三次
如果到了,给出提示:游戏试玩已经结束,想玩请充值(www.itcast.cn)
如果不到三次
玩游戏
次数+1,重写写回文件,用Properties的store()方法实现
package com.aynu13;//游戏类,猜数字小游戏import java.util.Random;
import java.util.Scanner;public class GuessNumber {private GuessNumber(){}public static void start(){//要完成猜数字的游戏,首先需要有一个要猜的数字,使用随机数生产该数字,范围1到100Random r=new Random();int number = r.nextInt(100)+1;while(true){//程序实现猜数字,每次均要输入猜测的数字值,需要使用键盘录入实现Scanner sc=new Scanner(System.in);System.out.println("请输入您要猜的数字:");int guessnumber = sc.nextInt();//比较输入的数字与随机产生的数字if (guessnumber>number){System.out.println("您猜的数字"+guessnumber+"大了");} else if (guessnumber<number) {System.out.println("您猜的数字"+guessnumber+"小了");}else {System.out.println("恭喜你猜对了");break;}}}
}
package com.aynu13;//需求:请求程序实现猜数字小游戏只能试玩三次,如果还想玩,提示:游戏已经结束,想玩请充值(www.itcast.cn)
//
// 思路:
// 写一个游戏类,里面有一个猜数字的小游戏
// 写一个测试类,测试类中有main()方法,main()方法中按照下面步骤完成
// 从文件中读取数据到Properties集合,用load()方法实现
// 文件已经存在:game.txt
// 里面有一个数据值:count=0
// 通过Properties集合获取到玩游戏的次数
// 判断次数是否到达三次
// 如果到了,给出提示:游戏试玩已经结束,想玩请充值(www.itcast.cn)
// 如果不到三次
// 玩游戏
// 次数+1,重写写回文件,用Properties的store()方法实现import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;public class PropertiesTest {public static void main(String[] args) throws IOException {//从文件中读取数据到Properties集合,用load()方法实现Properties prop=new Properties();FileReader fr=new FileReader("D:\\idea1\\workplace\\myMap\\game.txt");prop.load(fr);fr.close();//通过Properties集合获取到玩游戏的次数String count = prop.getProperty("count");int number = Integer.parseInt(count);//判断次数是否到达三次if (number>=3){//如果到了,给出提示:游戏试玩已经结束,想玩请充值(www.itcast.cn)System.out.println("游戏试玩已经结束,想玩请充值(www.itcast.cn)");}else {//玩游戏GuessNumber.start();//次数+1,重写写回文件,用Properties的store()方法实现number++;prop.setProperty("count",String.valueOf(number));FileWriter fw=new FileWriter("D:\\idea1\\workplace\\myMap\\game.txt");prop.store(fw,null);fw.close();}}
}
结果为两种情况如果试玩次数等于3时显示:
小于3时: