public class Casa1 {
String cor = "";
int totalDePortas = 0;
Porta porta[];
void pinta(String s){
cor = s;
}
int cont = 0;
int quantasPortasEstaoAbertas(){
for(int x=0; x<porta.length; x++){
if(porta[x].aberta == true){
cont++;
}
else{
return cont;
}
}
return cont;
}
void adicionaPorta(Porta p){
p = new Porta();
}
int totalDePortas(){
for(int x=0; x<porta.length; x++){
if(porta[x] != null){
totalDePortas += 1;
}
else{
return totalDePortas;
}
}
return totalDePortas;
}
}
public class Porta {
boolean aberta = false;
}
public class Casa1Test {
public static void main(String[] args){
Casa1 c1 = new Casa1();
c1.pinta("Azul");
c1.porta = new Porta[3];
c1.adicionaPorta(c1.porta[0]);
c1.adicionaPorta(c1.porta[1]);
c1.adicionaPorta(c1.porta[2]);
c1.porta[0].aberta = true;
c1.porta[1].aberta = false;
c1.porta[2].aberta = true;
System.out.println("Exitem quantas portas na casa? " + c1.totalDePortas());
System.out.println("Quantas portas estão abertas? " + c1.quantasPortasEstaoAbertas());
}
}
Aparece esse na execução:
Exception in thread "main" java.lang.NullPointerException
at Casa1Test.main(Casa1Test.java:11)
A linha 11 é esta: c1.porta[0].aberta = true;