猜数字小游戏(Properties()类练习)

题目
设计一个猜数字小游戏,可以试玩5次。试玩结束之后,给出提示:游戏试玩结束, 请付费。

GuessNumber.java

public class GuessNumber {
    
    
    private GuessNumber() {
    
    

    }

    public static void start() {
    
    
        //产生一个随机数
        int number = (int) (Math.random() * 10) + 1;
        //定义一个统计变量
        int count = 0;

        while (true) {
    
    
            //键盘录入一个数据
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入1-10之间的数据:");
            int guessNumber = sc.nextInt();

            count++;

            //判断
            if (guessNumber > number) {
    
    
                System.out.println("所猜数据" + guessNumber + "偏大");
            } else if (guessNumber < number) {
    
    
                System.out.println("所猜数据" + guessNumber + "偏小");
            } else {
    
    
                System.out.println("厉害哟," + count + "次就猜中了");
                break;
            }
        }
    }
}

Test.java

public class Test {
    
    
    //static int z = 0;

    public static void main(String[] args) throws IOException {
    
    
        //读取某个地方的数据,如果数据不大于5,可以继续玩。否则就提示“游戏试玩已结束,请付费”
        //创建一个文件

        File file = new File("count.txt");
        if (!file.exists()) {
    
    
            file.createNewFile();//如果没有计数文件,创建一个
        }


        //  GuessNumber.start();
        //把数据加载到集合中
        Properties prop = new Properties();//创建一个无默认值的空属性列表
        FileReader fr = new FileReader("count.txt");//读取文件

        //FileWriter w= new FileWriter("count.txt");
      //  BufferedWriter bw = new BufferedWriter(new FileWriter("count.txt"));

     //   bw.write("z=0");
       // z++;
        // w.write("count=0",0,8);
       // bw.flush();

        prop.load(fr);//按简单的面向行的格式从输入字符流中读取属性列表(键和元素对)。
        fr.close();//关闭文件输入流

        String value = prop.getProperty("count");// 用指定的键count在此属性列表中搜索属性
        int number = Integer.parseInt(value);//是把()里的内容转换成整数

        if (number > 5) {
    
    
            System.out.println("游戏试玩已结束,请付费!");
            System.exit(0);
        } else {
    
    
            number++;
            //valueOf(),该方法返回原值
            prop.setProperty("count", String.valueOf(number));// setProperty(String key, String value),调用 Hashtable 的方法 put
            FileWriter fw = new FileWriter("count.txt");
            //store(Writer writer, String comments)
            //          以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符。
            prop.store(fw, null);
            fw.close();

            GuessNumber.start();
        }

    }
}

结果输出:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/gy99csdn/article/details/113819745