Olá pessoal, estou começando a aprender Java e gostaria de uma ajuda em um exercício do Caellum:
(opcional-avançado) Crie um método na classe Data que devolva o valor formatado da data, isto é, devolva uma String com “dia/mes/ano”. Isso para que o método mostra da classe Funcionario possa ficar assim:
class Funcionario {
// atributos e metodos
void mostra() {
// imprime outros atributos…
System.out.println("Data de entrada: " + this.dataDeEntrada.formatada());
}
}
no meu código esta assim:
classe funcionário:
public class Funcionario {
String nome;
String departamento;
//String dataDeEntradanoBanco;
int rg;
double salario;
Data dataDeEntradaNoBanco;
…
void mostra(){
System.out.println("Nome: " + this.nome);
System.out.println("RG: " + this.rg);
System.out.println("Salário: R$ " + this.salario);
System.out.println("Departamento: " + this.departamento);
<a href="//System.out.println">//System.out.println</a>("Data de Entrada no Banco: " + dataDeEntradaNoBanco.dia + “/” + dataDeEntradaNoBanco.mes + “/” + dataDeEntradaNoBanco.ano);
System.out.println(“Data de entrada” + this.dataDeEntradaNoBanco.dataFormatada());
System.out.println("Ganho anual: R$ " + this.calculaGanhoAnual());
}
Classe data:
public class Data {
int dia;
int mes;
int ano;
public String dataFormatada(/*int dia, int mes, int ano*/) {
return (this.dia + "/" + this.mes + "/" + this.ano);
}
}
porém, ao ir no método main, que fica na classe TestaFuncionario:
public class TestaFuncionario {
public static void main(String[] args) {
Funcionario f = new Funcionario();
Data data = new Data();
data.dia = 22;
data.mes = 8;
data.ano = 2015;
f.nome = "César Ryan";
f.departamento = "Gerencia de TI";
f.rg = 123456789;
f.salario = 4000;
f.mostra();
ele acusa um erro:
Nome: César Ryan
RG: 123456789
Salário: R$ 4000.0
Departamento: Gerencia de TI
Exception in thread “main” java.lang.NullPointerException
at capitulo4.Funcionario.mostra(Funcionario.java:45)
at capitulo4.TestaFuncionario.main(TestaFuncionario.java:24)
alguém poderia me ajudar por favor?