Exception in thread "main" java.lang.NullPointerException
at OlaMundo.main(OlaMundo.java:14)
public class OlaMundo {
public static void main(String[] args) {
Livro livro = new Livro();
livro.ano = 1990;
livro.isbn = "5874455548DRFF-BR";
livro.nome = "Programe em Java em 21 dias";
livro.paginas = 574;
livro.preco = 99.90;
livro.autor.nome = "Paulo de Souza";
System.out.println("Dados do Cadastro:");
livro.mostraValores();
}
}
public class Livro {
String nome;
int ano;
String isbn;
int paginas;
double preco;
Autor autor;
void mostraValores() {
System.out.println("Nome do Livro: \t\t\t"+nome);
System.out.println("Ano de Publicação: \t\t\t"+ano);
System.out.println("ISBN: \t\t\t"+isbn);
System.out.println("Nº de Paginas: \t\t\t"+paginas);
System.out.println("Preço: \t\t\t"+preco);
autor.MostraDetalhesAutor();
System.out.println("----------");
}
}
public class Autor {
String nome;
String nivelAcademico;
String AlmaMater;
String email;
void MostraDetalhesAutor() {
System.out.println("Nome do Autor:" + nome);
System.out.println("Nome do Autor:" + nivelAcademico);
System.out.println("Nome do Autor:" + AlmaMater);
System.out.println("Nome do Autor:" + email);
}
}
Não achei, no seu código, a parte onde você cria a instância de Autor. Isso deve estar causando a exceção de null pointer;
A ideia era fazer uma composição entre as classes Livro e Autor. Esse erro enche o saco, não consiguo consertar isso.
Basta instanciar corretamente o Autor na classe Livro, que o erro sumirá.
Se a linha 14 (onde ocorre o erro) for essa: livro.autor.nome = "Paulo de Souza";, altere para:
livro.autor = new Autor();
livro.autor.nome = "Paulo de Souza";
Qual script?
Isso parece ser Java e não JavaScript.