【发布时间】:2013-09-20 03:05:15
【问题描述】:
我有一个文件要存储到 ArrayList 中,但我不知道如何格式化它,以便将某些文本字符串存储在特定索引中。第一行是类别,第二行是问题,第三行是琐事问题的答案。我需要这样做,以便我可以随机选择问题,然后检查问答游戏的答案。到目前为止,我得到的只是每个单词都用逗号分隔。教授的话,
"输入文件包含不同类别的问题和答案。对于每个类别,第一行表示类别的名称。这一行后面将有若干对行。对的第一行是问题,第二行是其对应的答案。 类别之间用空行分隔。”
到目前为止,这是我的代码:
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class TriviaGamePlayer {
/**
* @param args
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
ArrayList<String> triviaQuestion = new ArrayList<String>();
Scanner infile = new Scanner(new File("trivia.txt"));
while(infile.hasNext()){
triviaQuestion.add(infile.next());
}
System.out.println(triviaQuestion);
}
}
【问题讨论】:
-
您需要只使用一个ArrayList,还是可以使用多个数据结构?实际上,ArrayList 的 add 方法使您将项目添加到数组中的最后一个元素。
-
那么会有几类琐事问题,就像我提到的那样,我需要从每个类别中一次随机挑选一个问题来运行游戏。所以我想我可以为每个琐事类别使用多个数组列表。
-
看来我需要使用 java API 中 String 类的 split 方法,但我不确定如何实现它以满足我的需求。
标签: java random arraylist string-comparison