ArrayList、私有实例变量和构造函数
ArrayList, private instance variable and constructor
我无法在新的 class 中创建 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;
}
}
}
我得到的错误是:
unexpected type.
required: variable.
found: value.
我曾尝试将 n
和 i
更改为整数,但没有帮助。
这是不正确的:
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>();
我无法在新的 class 中创建 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;
}
}
}
我得到的错误是:
unexpected type.
required: variable.
found: value.
我曾尝试将 n
和 i
更改为整数,但没有帮助。
这是不正确的:
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>();