I'm trying to get the length of seznam2 by using int postle in Stanovanje. However, the variable getPostle() does not pass and I get Exception in thread "main" java.lang.NullPointerException error for this line:
private String[] seznam2 = new String[getStanovanje().getPostle()].
I would also like to know when to use:
Stanovanje stanovanje = new Stanovanje();
or
private Stanovanje stanovanje1;
Here is my code:
Potovanje.java
public class Potovanje {
Stanovanje stanovanje = new Stanovanje();
private Stanovanje stanovanje1;
private String datumOdhoda;
private int trajanje;
private Popotnik[] popotnik;
private ArrayList<Popotnik> seznam = new ArrayList<>();
private String[] seznam2 = new String[getStanovanje().getPostle()];
public Potovanje(String datumOdhoda, int trajanje){
this.datumOdhoda = datumOdhoda;
this.trajanje = trajanje;
}
public void setStanovanje(Stanovanje stanovanje1){
this.stanovanje1 = stanovanje1;
}
public Stanovanje getStanovanje(){
return stanovanje1;
}
public void setPopotnik(Popotnik[] popotnik){
this.popotnik = popotnik;
}
public Popotnik[] getPopotnik(){
return popotnik;
}
public ArrayList<Popotnik> getSeznam(){
return seznam;
}
public void setSeznam2(String[] seznam2){
this.seznam2 = seznam2;
}
public String[] getSeznam2(){
return seznam2;
}
public void dodajPotnika(Popotnik[] popotnik){
//System.out.println("postle: " + stanovanje.getPostle());
for(int i=0; i<getSeznam2().length; i++){
//System.out.println("wadap");
setPopotnik(popotnik);
seznam.add(getPopotnik()[i]);
}
}
public String toString(){
return "datumOdhoda: " + datumOdhoda + "\n" + "trajanje: " + trajanje + "\n" + "popotnik: " + getPopotnik();
}
}
Stanovanje.java
public class Stanovanje {
private int postle;
public Stanovanje(){
}
public Stanovanje(int postle){
this.postle = postle;
}
public void setPostle(int postle){
this.postle = postle;
}
public int getPostle(){
return postle;
}
public String toString(){
return "postle: " + postle;
}
}