Erro "Exception in thread "main" java.lang.NullPointerException"

1 resposta
A

Boa noite, to fazendo esse exercicio da apostila da caelum e deu esse erro ai, se puderem me ajudar.

Grato

Nelson

run:

Exception in thread main java.lang.NullPointerException

at Classes.Casa.quantasPortasEstaoAbertas(Casa.java:24)

at Classes.Teste.main(Teste.java:23)

Java Result: 1

CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)
public class Teste {

    public static void main(String[] args) {

        Casa c =new Casa();
        Porta porta1 = new Porta();
        Porta porta2 = new Porta();
        Porta porta3 = new Porta();
        c.pinta("Azul");
        porta1.abre();
        porta2.abre();
        porta3.fecha();
      c.quantasPortasEstaoAbertas();
public class Casa {

    String cor;
    Porta porta1;
    Porta porta2;
    Porta porta3;

    public void pinta(String s) {
        cor = s;
    }

    public int quantasPortasEstaoAbertas() {
        int a = 0;
        if (porta1.aberta == true) {
            a = 1;
        }
        if (porta2.aberta == true) {
            a = a + 1;
        }

        if (porta3.aberta == true) {
            a = a + 1;
        }
        System.out.println("O numero de porta abertas e:" + a);
        return a;



    }
}
public class Porta {

    boolean aberta;
    String cor;
    double dimensaoX;
    double dimensaoY;

    public void abre() {
        aberta = true;


    }

    public void fecha() {
        aberta = false;

    }

    public void pinta(String s) {

        cor=s;
    }

  public  boolean estaAberta() {
        if (aberta == true) {
            System.out.println("A porta esta aberta");
           return true;
        } else {
            System.out.println("A porta esta fechada");
          return false;
        }

    }
   public void dados(){
        System.out.println("a Cor e "+ this.cor);
        System.out.println("A dimensaoX e:"+this.dimensaoX);
         System.out.println("A dimensaoY e:"+this.dimensaoY);

    }

}

1 Resposta

J

você não instanciou os objetos Porta de sua classe Casa.
por isso o NullPointerException

faça um construtor assim

public Casa(Porta p1,Porta p2,Porta p3){
    this.porta1 = p1;
    this.porta2 = p2;
    this.porta3 = p3;
}

[]'s :smiley:

Criado 30 de janeiro de 2009
Ultima resposta 30 de jan. de 2009
Respostas 1
Participantes 2