使用line.contains在Java中对文本文件的信息进行排序

时间:2012-11-02 04:10:59

标签: java indexof

我正在编写一个程序,要求用户进行测验。我必须在文本文件中阅读我需要的信息。但是,我遇到了如何做到这一点的麻烦。我已将所需的问题分类到列表数组中,但其余的则给我带来了麻烦。这是我必须使用的文本文件的格式:

(问题) (选择的答案数量) (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);
    }
}

1 个答案:

答案 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);
   } 
}

这里我假设问题和答案是按顺序写的。