Короче говоря, gameplayWord - это слово, которое было определено случайным образом из списка слов для игры в палач, считанный из (в данном случае файла простых слов). easyContentList - это ArrayList всех данных в этом файле. Файл имеет 2 столбца, первый col - слова, которые можно использовать, 2 - число, представляющее, сколько раз слово использовалось. (0 в исходном файле) Мне нужно отслеживать это число на основе каждой итерации игры. easyFileUpdateList - это String ArrayList, объявленный на уровне класса. Проблема заключается в основном не работает:отслеживание текста на основе игры палача в выходном файле
public void updateEasyFile(String gameplayWord, ArrayList<String> easyContentList) {
Integer used = 0; // represents used word count
String strUsed = "";
for (int i = 0; i < easyContentList.size() - 1; i++) {
String oneLine;
oneLine = easyContentList.get(i);
tokenizer = new StringTokenizer(oneLine);
String firstToken = tokenizer.nextToken();
if (firstToken.equals(gameplayWord)) {
used = Integer.parseInt(tokenizer.nextToken());
used++;
strUsed = used.toString();
easyFileUpdateList.add(gameplayWord + " " + strUsed + " " + "TODO");
}
if (!firstToken.equals(tokenizer.nextToken())) // add the first token of every line except the first
easyFileUpdateList.add(oneLine);
}
try {
PrintWriter printWriter = new PrintWriter(new FileOutputStream(new File("hmeasy.txt")));
for (String oneLine : easyFileUpdateList) {
printWriter.println(oneLine);
}
printWriter.close();
}
catch (FileNotFoundException fnfe) {
fnfe.printStackTrace();
}
}
Update
Спасибо, я буду смотреть в хэш-наборы. Позвольте мне пояснить немного больше, я все еще не полностью слежу.
Правильно, файл будет, как вы сказали, так что если слова собака, кошка, и туман файл будет выглядеть следующим образом:
dog 0
cat 0
fog 0
Существует 3-й столбец из нулей, которая является то, что TODO для, но я буду беспокоиться об этом позже.
Вы правы, что у меня есть проблема: просто добавьте новую запись со словом, а затем 1 во 2-й столбец. Так что, если туман случайно выбрал 3 раза подряд, и этот метод выполняется он будет говорить
dog 0
cat 0
fog 1
dog 0
cat 0
fog 1
fog 1
dog 0
cat 0
fog 1
fog 1
fog 1
то, что я ищу это: Первый раунд:
dog 0
cat 0
fog 1
второй раунд:
dog 0
cat 0
fog 2
и т.д ...
мне нужно обновить номер в файле каждый раз, когда слово я s случайным образом выбран.
В принципе, что он делает? Можно ли сыграть в игру? Изменяет ли файл вообще, когда он есть? – CandiedOrange