ArrayList,私有实例变量和构造函数

时间:2016-02-22 21:50:54

标签: java arraylist drjava

我在新类中创建Arraylist时遇到问题(我正在使用DrJava IDE)。作业是创建一个构造函数,其中n彩票从1 to n编号。

import java.util.ArrayList;

public class Tombola {

    private ArrayList<Integer> arr;

    public Tombola(int n){
        for (int i = 0; i < n-1; i++){
            this.arr.add(i) = i + 1;
        }
    }
}

我得到的错误是:

  

意外类型。

     

必需:变量。

     

发现:价值。

我尝试将ni更改为整数,但它没有帮助。

1 个答案:

答案 0 :(得分:4)

这是不正确的:

 this.arr.add(i) = i + 1;

add(...)方法没有为您提供作业的目标,因此将其指定为i+1将无效。相反,您应该添加i+1,如下所示:

 this.arr.add(i + 1);

您的代码中还有两个错误:

1:这个循环

for (int i = 0; i < n-1; i++)

将迭代n-1次,而不是n次。要获得n次迭代,请使用

for (int i = 0; i < n; i++) // <<== This is most common

for (int i = 0; i <= n-1; i++) // <<== This is less common

2:您的数组列表未初始化。您需要更改其声明如下:

private ArrayList<Integer> arr = new ArrayList<Integer>();

甚至

private List<Integer> arr = new ArrayList<Integer>();