Erro criar breakpoint - Não entendo o erro

1 resposta
java
alefeufei

o código

public class CadastroDeLivros {

public static void main(String[] args) {

    Autor autor = new Autor();
    autor.nome = "Rodrigo Turini";
    autor.email = "[email removido]";
    autor.cpf = "123.456.789.10";

    Livro livro = new Livro();
    livro.nome = "Java 8 Prático";
    livro.descricao = "Novos recursos da linguagem";
    livro.valor = 59.90;
    livro.isbn = "978-85-66250-46-6";

    livro.mostrarDetalhes();

    Livro outroLivro = new Livro();
    outroLivro.nome = "Lógica de Programação";
    outroLivro.descricao = "Crie seus primeiros programas";
    outroLivro.valor = 59.90;
    outroLivro.isbn = "978-25-66250-22-0";

    outroLivro.mostrarDetalhes();


}

}

public class Autor {

String nome;

String email;

String cpf;
void mostrarDetalhes() {
    System.out.println("Mostrando detalhes do autor ");
    System.out.println("Nome: " + nome);
    System.out.println("Email: " + email);
    System.out.println("CPF: " + cpf);
}

}

public class Livro {

String nome;

String descricao;

double valor;

String isbn;

Autor autor;
void mostrarDetalhes(){
    System.out.println("Mostrando detalhes do livro ");
    System.out.println("Nome: " + nome);
    System.out.println("Descrição: " + descricao);
    System.out.println("Valor: " + valor);
    System.out.println("ISBN: " + isbn);
    autor.mostrarDetalhes();
    System.out.println("--");
}

}

o erro:

Exception in thread main java.lang.NullPointerException: Cannot invoke Autor.mostrarDetalhes() because this.autor is null

at Livro.mostrarDetalhes(Livro.java:14)

at CadastroDeLivros.main(CadastroDeLivros.java:16)

1 Resposta

wldomiciano

Vc criou o autor, mas esqueceu de atribuí-lo ao livro. Faltaram as seguintes linhas:

livro.autor = autor;
outroLivro.autor = autor;

Como vc não fez isso, o valor do campo autor tá nulo, por isso o erro.

Criado 21 de fevereiro de 2024
Ultima resposta 21 de fev. de 2024
Respostas 1
Participantes 2