java—使用txt文件中的数据创建对象

tzxcd3kk  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(383)

我的txt文件如下所示:-
类型:战士
健康:100
级别:1
经验:0
最大生命值:100
药剂-小:2

- Medium : 1

     - Large : 0

我想用“:”字符后面的数字创建对象(英雄=新战士(生命值,等级,经验值,最大健康值,库存)我的代码根本不起作用。这是我的密码。当我打印arraylist时,它会打印出我需要的所有元素。但除了它不做任何事情,也没有显示任何错误消息。(谢谢)

private void loadHero() throws IOException {
        try {
            File file = new File("hero.txt");
            BufferedReader reader = new BufferedReader(new FileReader(file));
            ArrayList<String> listOfVariables = new ArrayList<>();
            String line;

           int count = 0;
           while((line= reader.readLine())!=null){
               String[] val = line.split(":");
               String members = val[1];
               listOfVariables.add(members);
               count+=1;
           }
            String name = listOfVariables.get(0);
             int health = Integer.parseInt(listOfVariables.get(1));
             int level= Integer.parseInt(listOfVariables.get(2)) ;
             int experience= Integer.parseInt(listOfVariables.get(3));
             int maxHealth= Integer.parseInt(listOfVariables.get(4));
             int smallPotions= Integer.parseInt(listOfVariables.get(5));
             int mediumPotions= Integer.parseInt(listOfVariables.get(6));
             int largePotions= Integer.parseInt(listOfVariables.get(7));

             Inventory inventory = new Inventory(smallPotions, mediumPotions, largePotions);
             hero = new Warrior(health, level, experience, maxHealth, inventory);

        }catch(Exception ex){
            ex.printStackTrace();
        }

    }
ejk8hzay

ejk8hzay1#

您的代码工作正常,但您需要添加print语句,否则创建的对象在成功创建后将永远不会显示。
方法:
覆盖 toString() 在您的模型类和选择一个很好的布局显示数据。
在创建对象后添加print语句(例子 System.ou.println() ).
我希望我能帮助你,继续你的伟大工作!

相关问题