我在创建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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
意想不到的类型。
要求:变量。
发现:值。
我试图改变n和i整数,但它没有帮助。
这是不正确的:
this.arr.add(i) = i + 1;
Run Code Online (Sandbox Code Playgroud)
add(...)方法不为您提供分配目标,因此分配它i+1不起作用。相反,您应该添加i+1,如下所示:
this.arr.add(i + 1);
Run Code Online (Sandbox Code Playgroud)
您的代码中有两个额外的错误:
1:这个循环
for (int i = 0; i < n-1; i++)
Run Code Online (Sandbox Code Playgroud)
将迭代n-1次数,而不是n次数。要获得n迭代使用
for (int i = 0; i < n; i++) // <<== This is most common
Run Code Online (Sandbox Code Playgroud)
或者
for (int i = 0; i <= n-1; i++) // <<== This is less common
Run Code Online (Sandbox Code Playgroud)
2:您的数组列表未初始化。您需要按如下方式更改其声明:
private ArrayList<Integer> arr = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)
甚至
private List<Integer> arr = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1429 次 |
| 最近记录: |