首页 > 代码库 > Properties集合的练习

Properties集合的练习

1、更改文件中的数据,特定键的值:

需求:我有一个文本文件(user.txt),我知道数据是键值对形式的,但是不知道内容是什么。
   请写一个程序判断是否有“lisi”这样的键存在,如果有就改变其值为”100”
分析:
  A:把文本文件中的数据加载到Properties集合中
  B:获取该集合的键集合
  C:遍历键集合,进行判断是否是lisi键
          是:更改为“100”
          不是:不理
  D:把更改后的集合数据存储到文本中

 1 public class PropertiesTest1 { 2  3     public static void main(String[] args) throws IOException { 4              5          6         //创建集合 7         Properties prop = new Properties(); 8         Reader r = new FileReader("user.txt"); 9         //public void load(Reader reader):把文件中的数据读取到集合中10         prop.load(r);11         r.close();12         13         //遍历集合,获取键集合14         //public Set<String> stringPropertyNames()返回此属性列表中的键集,15         //其中该键及其对应值是字符串,如果在主属性列表中未找到同名的键,则还包括默认属性列表中不同的键16         Set<String> s = prop.stringPropertyNames();17         for(String key : s){18             if(prop.get(key).equals("lisi")){19                 prop.setProperty(key, "100");20             }21         }22         23         //把集合中的数据存储到文本中24         Writer w = new FileWriter("user.txt");25         prop.store(w,"更改后");26         w.close();27         28     }29 30 }

 

2、一些游戏,都有试玩次数或者关卡,当玩到特定的次数或者关卡时,就要求付费。。。来试试如何实现:

下面是次数版本,关卡差不多。

需求:

    我有一个猜数字小游戏的程序,请写一个程序实现在测试类中只能用5次,超过5次提示:游戏试玩已结束,请付费。
分析:
    A:创建一个文本文件,里面写一段键值对数据:count=0(不需要程序创建)
    B:创建properties集合,把文本中的数据加载到集合中
    C:获取count键的值
    D:判断次数
        超过5次:提示
        不超过:count键的值+1,并把这段数据重新存储到文本文件中,继续游戏

 1 public class PropertiesTest2 { 2  3     public static void main(String[] args) throws IOException { 4              5         //创建集合 6         Properties prop = new Properties(); 7         //把文本的数据加载到集合中 8         Reader r = new FileReader("count.txt"); 9         prop.load(r);10         r.close();11         12         //获取count键的值13         String value = http://www.mamicode.com/prop.getProperty("count");14         //把字符串的值转换成int,方便判断15         int number = Integer.parseInt(value);16         17         //对number进行判断18         if(number > 5){19             System.out.println("试玩次数已到,请付费");20             System.exit(0);21         }22         else{23             number ++;24             //重新把数据存储到文本中25             26             //number必须转成字符串27             prop.setProperty("count", String.valueOf(number));        28             Writer w = new FileWriter("count.txt");29             //存储30             prop.store(w, null);31             w.close();32             //继续33             GuessGame.start();34         }35 36     }37 38 }

。。。产生随机数并猜测判断的类,不写了

Properties集合的练习