0

从文件中读取和解析元素后,我很难将元素放入数组中。这个想法是我读入的文本文件有一个问题,然后下一行是一个数字,表示哪个答案是正确的。我将字符串解析为一个 int,但我无法将解析后的 int 添加到我的 answers 数组中。所以我的问题是如何将我的 int 添加到我的数组答案中?这是我的代码

//here is how I define my arrays
 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);
        String correctAnswer = fScan.nextLine();
        int rightAnswer = Integer.parseInt(correctAnswer);
        //here's where things go wrong

        answers.add(rightAnswer);

    } 
    else 
    {
        other.add(line);
    }
}
4

4 回答 4

0

您应该为您的answers. 然后你可以像这样添加元素,否则.add函数会给你一个错误。

或者,您可以这样做answers[i] = rightAnsweri您可以添加作为计数器的问题数量在哪里。

于 2012-12-06T23:07:46.413 回答
0

将答案定义为

ArrayList<Integer> answers=new ArrayList<>();

此外,最好考虑一下NumberFormatException- 如果字符串不包含可解析的整数。

于 2012-12-06T23:13:13.740 回答
0

试试看

   //here's where things go wrong
   answers[questions.size() - 1] = Integer.parseInt(correctAnswer);

或者只使用 ArrayList

于 2012-12-07T00:04:18.670 回答
0


有几种方法可以做到这一点。这是一个:在你的代替
使用。在这种情况下,您不必费心将字符串转换为整数,因为 ArrayList 接受对象。相反,您可以使用附加。但是,如果您想将值作为字符串获取,您可以使用.ArrayList answers = new ArrayList();answers
answers.add(correctAnswer)answers.get(yourIndex).toString

于 2012-12-07T03:18:32.100 回答