将int添加到数组中

时间:2012-12-06 23:01:58

标签: java arrays int add

在从文件中读取和解析元素之后,我很难将元素放入数组中。我的想法是我读入的文本文件有一个问题,然后下一行是一个数字,表示哪个答案是正确的。我将字符串解析为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 个答案:

答案 0 :(得分:0)

您应该为answers使用ArrayList而不是数组。然后你可以像这样添加元素,否则.add函数会给你一个错误。

或者,您可以执行answers[i] = rightAnswer,其中i是您可以添加为计数器的问题数。

答案 1 :(得分:0)

将答案定义为

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

如果字符串不包含可解析的整数,那么考虑NumberFormatException也是个好主意。

答案 2 :(得分:0)

尝试

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

或只使用ArrayList

答案 3 :(得分:0)


有几种方法可以做到这一点。这是一个:
请改用ArrayList answers = new ArrayList();中的answers
在这种情况下,您不会打扰自己将String转换为整数,因为ArrayList接受一个Object。相反,您可以使用answers.add(correctAnswer)追加。但是,如果要将值作为String获取,可以使用answers.get(yourIndex).toString