我正在编写一个程序,要求用户进行测验。我必须在文本文件中阅读我需要的信息。但是,我遇到了如何做到这一点的麻烦。我已将所需的问题分类到列表数组中,但其余的则给我带来了麻烦。这是我必须使用的文本文件的格式:
(问题) (选择的答案数量) (x个选择) (号码试过) (数字正确) (号码不正确)
我如何使用代码来区分答案整数和统计整数?
Scanner fScan = new Scanner(new File(file_name));
List<String> questions = new ArrayList<String>();
List<String> other = new ArrayList<String>();
int[] answers = new int[questions.size()];
while (fScan.hasNextLine())
{
String line = fScan.nextLine();
if (line.contains("?"))
{
questions.add(line);
}
else
{
other.add(line);
}
}
答案 0 :(得分:0)
最好创建Map
,将问题作为关键字,将答案列表作为值,例如下面:
Map<String, List<String>> questionAnswersMap = new HashMap<String, List<String>>();
List<String> answers = null;
while (fScan.hasNextLine()) {
String line = fScan.nextLine();
if (line.contains("?")){
//new Question
answers = new ArrayList<String>()
questionAnswersMap.put(line, answers );
}else{
//answer of the previous question
answers.add(line);
}
}
这里我假设问题和答案是按顺序写的。