线程'主要'中的例外情况显示java.lang.NullPointerException

时间:2015-04-22 01:55:56

标签: java exception nullpointerexception

您好我是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);

5 个答案:

答案 0 :(得分:1)

您永远不会初始化变量randbag,因此它们始终为null。在构造函数中,您需要使用randbag,而不是RandBag。例如:

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);