Sono nuovo nella programmazione in Java e non capisco cosa sta succedendo nel mio codice.Java NullPointerException - Short Program
Mi dice:
Exception in thread "main" java.lang.NullPointerException
at Main.Country.addMine(Country.java:37)
at Main.Main.main(Main.java:21)
Java Result: 1
mio main.java è semplice:
Continent Europe = new Continent("Europe");
Country asd = new Country("asd", Europe);
Mine mine = new Mine(100,100,100,100);
System.out.println(mine == null);
asd.addMine(mine); //dies here
questo è il metodo addMine:
public void addMine(Mine mine) {
System.out.println(mine == null);
this.mines.add(mine); //dies here
this.iron += mine.iron;
this.gold += mine.gold;
this.stone += mine.stone;
this.wood += mine.wood;
System.out.println("Mine has been successfully added to the country with the given values."
);
e Mine.java è:
public class Mine implements Building { //Building is an empty interface :)
protected int iron;
protected int gold;
protected int stone;
protected int wood;
public Mine(int iron, int gold, int stone, int wood) {
this.iron += iron;
this.gold += gold;
this.stone += stone;
this.wood += wood;
}
}
Come potete vedere ho scritto 2 println-s ed erano entrambi falsi, quindi l'oggetto esiste! Non capisco il motivo per cui si vede NullPointerException :(
Imporre "mine" è una sorta di elenco dinamico nel Paese? È inizializzato prima di provare ad aggiungerlo? – Logard
Hai inizializzato le mine? che è un arraylist credo. –
Puoi pubblicare come hai dichiarato "mine"? – Zakaria