基于Properties与IO流的猜数字游戏

涉及到的相关方法 

    • voidload​(InputStream inStream)

      从输入字节流读取属性列表(键和元素对)。

      voidload​(Reader reader)

      以简单的线性格式从输入字符流读取属性列表(关键字和元素对)。

    • voidstore​(OutputStream out, String comments)

      将此 Properties表中的此属性列表(键和元素对)以适合于使用 load(InputStream)方法加载到 Properties表格的格式写入输出流。

      voidstore​(Writer writer, String comments)

      将此属性列表(键和元素对)写入此 Properties表中,以适合使用 load(Reader)方法的格式输出到输出字符流。

 这里采用InputStream字节输入流

    • static StringvalueOf​(int i)

      返回 int参数的字符串表示形式。

    • byte[]getBytes​()

      使用平台的默认字符集将该 String编码为一系列字节,将结果存储到新的字节数组中。

    • static intparseInt​(String s)

      将字符串参数解析为带符号的十进制整数。

package 充值游戏测试14;

import java.io.*;
import java.util.Properties;

public class Demo14 {
    public static void main(String[] args) throws IOException {

        /*//创建文件
        FileOutputStream fos = new FileOutputStream("MyModule\\game.txt");
        //byte[] getBytes():返回字符串对应的字节数组
        fos.write("Count=0".getBytes());
        fos.close();*/

        Properties prop = new Properties();
        InputStreamReader isr = new InputStreamReader(new FileInputStream("MyModule\\game.txt"));
        //从输入字节流读取属性列表(键和元素对)。
        prop.load(isr);
        isr.close();

        //由键值获取游戏次数
        String count = prop.getProperty("Count");
        int number = Integer.parseInt(count);

        if(number >= 3){
            System.out.println("您的体验次数已用完,请登录(www.niubi666.com)充值!");
        }else{
            Game.useGame();

            //次数加1
            number++;
            //更新键和值
            prop.setProperty("Count",String.valueOf(number));
            FileOutputStream ops = new FileOutputStream("MyModule\\game.txt");
            prop.store(ops,null);
            ops.close();

        }

    }
}

 随机数代码

package 充值游戏测试14;

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

public class Game {
    private Game() {
    }

    public static void useGame(){

        Random r = new Random();
        int systemNumber = r.nextInt(100) + 1;

        while(true){
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入您想猜的数字:");
            int guessNumber = sc.nextInt();

            if(guessNumber > systemNumber){
                System.out.println("你猜的数字"+guessNumber+"大了");
            }else if(guessNumber < systemNumber){
                System.out.println("你猜的数字"+guessNumber+"小了");
            }else{
                System.out.println("你猜对了");
                break;
            }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值