0
I’m developing a program in java, I’ve looked at several places to know what I’m missing, all said that my variables are receiving null value, but I’ve tried to instantiate values in it, use methods, but nothing.
The error is this "Exception in thread "main" java.lang.Nullpointerexception at pub.Pub.main(Pub.java:18)".
Anyone can help?
package pub;
public class Pub {
public static void main(String[] args) {
Pessoa p = new Pessoa();
Funcionario f = new Funcionario();
f.nome = "asd";
f.cargo = "Bartender";
f.alteraSalario(950);
f.idade = 17;
Musico m = new Musico();
m.nome = "Aldair";
m.idade = 19;
m.instrumento = "Violon";
m.banda.nomeBanda = "Aldair Playboy";
m.banda.descricao = "Lorem ipsun";
m.banda.genero = "Forró";
m.banda.show.data = "07/05/2018";
m.banda.show.hora = "23:59";
System.out.println(p.Pessoa(f));
System.out.println(p.Pessoa(m));
}
}
Here the other classes:
Pessoa.java
package pub;
public class Pessoa {
public String nome;
public int idade;
public String Pessoa(Funcionario pessoa){
return "Nome:" + pessoa.nome + "\n" +
"Idade:" + pessoa.idade + " " + pessoa.retornaIdade() + "\n" +
"Cargo:" + pessoa.cargo + "\n" +
"Salario:" + pessoa.retornaSalario();
}
public String Pessoa(Musico pessoa){
return "Nome:" + pessoa.nome + "\n" +
"Idade:" + pessoa.idade + " " + pessoa.retornaIdade() + "\n" +
"Instrumento:" + pessoa.instrumento + "\n" +
"Banda:" + pessoa.banda.nomeBanda + "\n" +
"Genero:" + pessoa.banda.genero + "\n" +
"Descrição:" + pessoa.banda.descricao + "\n" +
"Data/Hora:" + pessoa.banda.retornaData();
}
}
Musico.java
package pub;
public class Musico extends Pessoa {
public String instrumento;
public Banda banda;
public String retornaIdade() {
if(idade < 18){
return "Menor de idade!!";
}else{
return "OK!!";
}
}
@Override
public String Pessoa(Musico pessoa){
return "Nome:" + pessoa.nome + "\n" +
"Idade:" + pessoa.idade + " " + pessoa.retornaIdade() + "\n" +
"Instrumento:" + pessoa.instrumento + "\n" +
"Banda:" + pessoa.banda.nomeBanda + "\n" +
"Genero:" + pessoa.banda.genero + "\n" +
"Descrição:" + pessoa.banda.descricao + "\n" +
"Data/Hora:" + pessoa.banda.retornaData();
}
}
Java band.
package pub;
public class Banda {
public String nomeBanda;
public String genero;
public String descricao;
public Show show;
public String retornaData(){
return show.data + " " + show.hora;
}
}
Java show.
package pub;
public abstract class Show {
public String hora;
public String data;
public abstract String retornaData();
}
Where is line 18? The error occurs on it,
– user28595
All these lines give error m.banda.nameBanda = "Aldair Playboy"; m.banda.Description = "Lorem ipsun"; m.banda.genero = "Forró"; m.banda.show.data = "07/05/2018"; m.banda.show.hora = "23:59";
– JeffNog