public class Tirage {
private LinkedHashSet<Integer> grille;
public Tirage(){
Set<Integer> grille = new LinkedHashSet<Integer>();
}
public void ajouterNombre(Integer i) throws TirageException{
if (i>= 1 && i<=90) {
this.grille.add(i); //this is where i got the pointer null exception
}
else{
throw new TirageException("Veuillez entrer un nombre conforme");
}
}
}
答案 0 :(得分:2)
问题很简单,
private LinkedHashSet<Integer> grille;
此处您尚未初始化grille
字段
,甚至不在这里,
public Tirage(){
Set<Integer> grille = new LinkedHashSet<Integer>();
}
所以,就这样做,
public Tirage(){
this.grille = new LinkedHashSet<Integer>();
}
这将使用新的对象实例初始化您的grille
字段。
答案 1 :(得分:0)
this.grille
尚未在该上下文中实例化。在构造函数中,您甚至可以创建不同类型的不同实例。
删除构造函数中私有变量的类型:
public Tirage(){
grille = new LinkedHashSet<Integer>();
}