Поиск в текстовом файле и случайный выбор? - PullRequest
0 голосов
/ 07 ноября 2011

моя домашняя работа такова, если нужно больше контекста - я бы объяснил, но это довольно долго объяснять, и текстовые файлы предоставляются на сайте, если людям нужно посмотреть на них: 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 голосов
/ 07 ноября 2011

Итак, у «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».И тогда вы остановитесь на этом.

По крайней мере, так Я читаю инструкции. ; ->

0 голосов
/ 07 ноября 2011

Уверен, что вы импортируете вещи, которые я добавляю, потому что вы не показываете импорт, я не буду добавлять их

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");
        }   
    }

Итак, в этом я сохранил пример в строковом значении 'сокровище'

Я не чувствую себя хорошо, помогая тебе с домашней работой -_-

...