Oi boa tarde estou resolvendo esse exercicio mas está dando o erro “Exception in thread “main” java.lang.NullPointerExceptionat TestCasa.main(TestCasa.java:7)”
class Porta {
String cor;
boolean aberta;
int dimensaoX;
int dimensaoY;
int dimensaoZ;
void abre(){
aberta = true;
}
void fecha(){
aberta = false;
}
void pinta(String s){
this.cor = s;
}
void estaAberta(){
if(aberta == true){
System.out.println("Está aberta!");
}else {
System.out.println("Está fechada!");
}
}
void mostra(){
System.out.println("A cor da porta é: "+this.cor);
System.out.println("A dimensão X é: "+this.dimensaoX);
System.out.println("A dimensão Y é: "+this.dimensaoY);
System.out.println("A dimensão Z é: "+this.dimensaoZ);
}
}
class Casa {
String cor;
Porta porta1;
Porta porta2;
Porta porta3;
void pinta(String S){
this.cor = S;
}
int quantasPortasEstaoAbertas(){
int i = 0;
if(porta1.aberta == true){
i += 1;
}if(porta2.aberta == true){
i += 1;
}if(porta3.aberta == true){
i += 1;
}
return i;
}
void mostra(){
System.out.println("Cor da casa: "+this.cor);
System.out.println("Cor da porta1: "+this.porta1.cor);
System.out.println("DimensãoX da porta1: "+this.porta1.dimensaoX);
System.out.println("DimensãoY da porta1: "+this.porta1.dimensaoY);
System.out.println("DimensãoZ da porta1: "+this.porta1.dimensaoZ);
System.out.println("Cor da porta2: "+this.porta2.cor);
System.out.println("DimensãoX da porta2: "+this.porta2.dimensaoX);
System.out.println("DimensãoY da porta2: "+this.porta2.dimensaoY);
System.out.println("DimensãoZ da porta2: "+this.porta2.dimensaoZ);
System.out.println("Cor da porta3: "+this.porta3.cor);
System.out.println("DimensãoX da porta3: "+this.porta3.dimensaoX);
System.out.println("DimensãoY da porta3: "+this.porta3.dimensaoY);
System.out.println("DimensãoZ da porta3: "+this.porta3.dimensaoZ);
}
}
public class TestCasa {
public static void main(String[] args) {
Casa casa = new Casa();
casa.cor = "Branca";
casa.porta1.cor = "Verde";
casa.porta1.dimensaoX = 10;
casa.porta1.dimensaoY = 20;
casa.porta1.dimensaoZ = 5;
casa.porta1.abre();
casa.porta2.cor = "Verde";
casa.porta2.dimensaoX = 10;
casa.porta2.dimensaoY = 20;
casa.porta2.dimensaoZ = 5;
casa.porta2.abre();
casa.porta3.cor = "Verde";
casa.porta3.dimensaoX = 10;
casa.porta3.dimensaoY = 20;
casa.porta3.dimensaoZ = 5;
casa.porta3.abre();
casa.mostra();
casa.quantasPortasEstaoAbertas();
}
}
Desde já agradeço!
