A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 rehan 于 2015-2-24 14:44 编辑

求各位大神给出详细的答案,这个问题本人研究了2天了。。。。,到现在还一头雾水,求解答啊。。。
已知一个类,定义如下:
   package cn.itcast.heima;
      public class DemoClass {
      public void run()
      {
         System.out.println("welcome to heima!");
      }   
     }
(1) 写一个Properties格式的配置文件,配置类的完整名称。
(2) 写一个程序,读取这个Properties配置文件,获得类的完整名称,并加载这个类,用反射的方式运行run方法。

我目前的问题有:
1.Properties格式的配置文件怎么生成?是自己进去目录里面建立,还是在这个程序里面建立?
2.如果在这个程序里面建立,如何获取类的完整名称?
3.还有一个问题,我在程序里面建立的文件,我怎么找不到啊?在eclipse中的哪个文件夹啊?
在线等,非常急。。。。。。

评分

参与人数 1技术分 +1 收起 理由
万合天宜 + 1 加油

查看全部评分

6 个回复

倒序浏览
如果我要自己生成Properties文件,应该进去哪个文件夹建立?
回复 使用道具 举报
你在程序里面创建不行吗?用文件输出流
回复 使用道具 举报
没人回答吗。。。。???急急急
回复 使用道具 举报
  1. package cn.itheima.day22.NumberGame;

  2. import java.io.FileReader;
  3. import java.io.FileWriter;
  4. import java.io.IOException;
  5. import java.io.Reader;
  6. import java.io.Writer;
  7. import java.util.Properties;
  8. import java.util.Scanner;

  9. /*
  10. * 需求:猜数字小游戏,当游戏次数达5次以上时,提示请付费,并且进行异常处理。
  11. *
  12. *注意:玩游戏前现在自己的项目路径下创建一个文件count.properties,内容为count=0即可
  13. */
  14. public class guessNumberGame {
  15.         public static void main(String[] args) {

  16.                 // 把数据加载到集合中
  17.                 Properties prop = new Properties();
  18.                 // 创建输入流,并且进行异常处理
  19.                 Reader r = null;
  20.                 try {
  21.                         r = new FileReader("count.properties");
  22.                         prop.load(r);
  23.                 } catch (IOException e) {
  24.                         System.out.println("玩游戏失败!");
  25.                 } finally {
  26.                         if (r != null) {
  27.                                 try {
  28.                                         r.close();
  29.                                 } catch (IOException e) {
  30.                                         System.out.println("玩游戏失败!");
  31.                                 }
  32.                         }
  33.                 }

  34.                 // 根据键值获取数据
  35.                 String value = prop.getProperty("count");
  36.                 int number = Integer.parseInt(value);

  37.                 // 判断
  38.                 if (number > 5) {
  39.                         System.out.println("试玩结束,请进行付费!");
  40.                         System.exit(0);
  41.                 } else {
  42.                         // 游戏次数 ++
  43.                         number++;
  44.                         // 创建输出流,并且进行异常处理
  45.                         Writer w = null;
  46.                         try {
  47.                                 prop.setProperty("count", String.valueOf(number));
  48.                                 w = new FileWriter("count.properties");
  49.                                 prop.store(w, null);
  50.                         } catch (IOException e) {
  51.                                 System.out.println("游戏失败了!");
  52.                         } finally {
  53.                                 if (r != null) {
  54.                                         try {
  55.                                                 r.close();
  56.                                         } catch (IOException e) {
  57.                                                 System.out.println("游戏失败!");
  58.                                         }
  59.                                 }
  60.                                 gameStart();
  61.                         }
  62.                 }

  63.         }

  64.         public static void gameStart() {
  65.                 // 产生一个随机数
  66.                 int number = (int) (Math.random() * 100) + 1;

  67.                 // 定义一个统计变量
  68.                 int count = 0;

  69.                 while (true) {
  70.                         // 键盘录入一个数据
  71.                         Scanner sc = new Scanner(System.in);
  72.                         System.out.println("请输入数据(1-100):");
  73.                         int guessNumber = sc.nextInt();

  74.                         count++;

  75.                         // 判断
  76.                         if (guessNumber > number) {
  77.                                 System.out.println("你猜的数据" + guessNumber + "大了");
  78.                         } else if (guessNumber < number) {
  79.                                 System.out.println("你猜的数据" + guessNumber + "小了");
  80.                         } else {
  81.                                 System.out.println("恭喜你," + count + "次就猜中了");
  82.                                 break;
  83.                         }
  84.                 }
  85.         }
  86. }


  87. 你看一下这个小游戏,它的配置文件得自己在目录路径下创建,读取是根据键值对的形式获取的
复制代码
回复 使用道具 举报
谢谢。。。。
回复 使用道具 举报
在程序跟目录中生成 properties文件 配置文件的键值对就是类名和方法名 通过反射机制来运行这个方法就可以了啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马