搜索文本文件并随机选择?

时间:2011-11-06 22:03:41

标签: java text random

如果需要更多上下文,我的作业就是这个 - 我会解释一下,但解释很长,文本文件在网站上提供,如果有人需要查看它们:http://www.cis.upenn.edu/~cis110/hw/hw06/index.html

现在我在第2步,并坚持随机选择与宝藏类相关的三个项目,检查它们是否以“tc”开头。我可以从monster.txt文件中提取宝藏类,我有怪物。这是我找宝藏课的方法:

public static void getTreasureClass(Monster monGet)
    throws FileNotFoundException{
    Random rand = new Random();
    String tc=monGet.getTreasureClass();
    Scanner file=new Scanner(new File ("TreasureClassEx.txt"));
    System.out.println(tc);
    while(!file.next().equals(tc)){
        file.next();
        }
    tc=file.next();
    if (tc.startsWith("tc:")){

    }
    else {
        System.out.println("test");
        }   
    }

这是非常不完整的,但我会欣赏一些关于从三个项目中随机选择或者我的代码是否糟糕的下一步的提示。提前谢谢!

2 个答案:

答案 0 :(得分:0)

确保您导入我添加的内容,因为您不显示导入我不会添加它们

public static void getTreasureClass(Monster monGet)
    throws FileNotFoundException{
    Random rand = new Random();
    String tc=monGet.getTreasureClass();
    Scanner file=new Scanner(new File ("TreasureClassEx.txt"));
    System.out.println(tc);
    List<String> list = new LinkedList<String>();
    while(!file.next().equals(tc)){
        file.next();
        }
    tc=file.next();
    if (tc.startsWith("tc:")){
    list.add(tc);
    }

    String treasure = list.get(rand.nextInt(list.size()));
    else {
        System.out.println("test");
        }   
    }

所以在这里我把这个例子保存在字符串值'宝贝'

我帮你做完作业感觉不错-_-

答案 1 :(得分:0)

所以'Hell_Bovine'的宝藏等级为“tc:Cow_(H)”。

所以你在TreasureClassEx.txt

中寻找这一行
tc:Cow_(H)  tc:Act_5_(H)_Equip_B    tc:armo3    tc:armo3

然后您将随机选择三个选项中的一个。

你会继续阅读TreasureClassEx,找到正确的行,并且只要你正在寻找的“宝藏类”以“tc:”开头就做出随机选择。

例如,对于“tc:Cow_(H)”,您可以选择“tc:armo3”。对于“tc:armo3”,您可以选择“Quilted_Armor”。然后你会停在那里。

至少那是阅读说明的方式。; - &gt;