-1

我在创建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整数,但它没有帮助。

4

1 回答 1

5

这是不正确的:

 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>();
于 2016-02-22T21:53:38.997 回答