您好我是Java的新手并且遇到这个硬件问题,我们被要求建立一个Class RandomBag - 一个通用的行李容器,允许随机拾取'一个元素。 我一直得到这个错误我不知道要修复,任何帮助非常感谢!
public RandomBag() {
ArrayList<E> Bag=new ArrayList<E>();
Random Rand =new Random();
}
public RandomBag(int seed) {
ArrayList<E> Bag=new ArrayList<E>();
Random Rand =new Random(seed);
答案 0 :(得分:1)
您永远不会初始化变量rand
或bag
,因此它们始终为null
。在构造函数中,您需要使用rand
和bag
,而不是Rand
或Bag
。例如:
public RandomBag() {
bag = new ArrayList<E>();
rand = new Random();
}
答案 1 :(得分:1)
一些事情,在你的构造函数中改变
ArrayList<E> Bag=new ArrayList<E>();
Random Rand =new Random();
到
bag=new ArrayList<E>();
rand = new Random(seed);
要记住的一些事情: 变量区分大小写。 如果你添加一个类型,你是定义,而不是设置,即:
ArrayList<E> bag=new ArrayList<E>();
在
时定义新变量bag
bag=new ArrayList<E>();
将现有变量bag
设置为new ArrayList<E>();
答案 2 :(得分:0)
您正在尝试在构造函数中初始化新变量。将其分配给您已声明的变量。
public RandomBag(int seed) {
bag=new ArrayList<E>();
rand =new Random(seed);
}
答案 3 :(得分:0)
更改构造函数:
public RandomBag() {
bag = new ArrayList<E>();
rand = new Random();
}
public RandomBag(int seed) {
bag = new ArrayList<E>();
rand = new Random(seed);
}
输出结果为:
10 10 11 12 13 14 15 16 17 随机选择:15 随机选择:16 随机选择:13 10 10 11 12 14 17 **
答案 4 :(得分:-1)
在你的构造函数中...... 取代
ArrayList<E> Bag=new ArrayList<E>();
Random Rand =new Random(seed);
与
Bag=new ArrayList<E>();
Rand =new Random(seed);