Executei o exercício 6 e funcionou da minha forma. Porém eu vi a resposta após finalizar e fiquei em dúvida sendo assim alterei o meu código para : Classe data com método preencheData
class Data{
int dia;
int mes;
int ano;
void preencheData(int dia, int mes, int ano){
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
}
Classe Funcionario
class Funcionario {
// recebendo data da classe Data
String nome;
double salario;
String rg;
String dataNascimento;
String nomeDaMae;
String nomeDoPai;
String cidadeNatal;
String enderecoAtual;
Data dataRegistro;
void recebeAumento(double valor){
this.salario += valor;
}
double calculaGanhoAnual(){
double ganhoAnual = this.salario * 12;
return ganhoAnual;
}
void mostra(){
System.out.println("Nome do Funcionario .: "+this.nome);
System.out.println("Salário .: "+this.salario);
System.out.println("Data do Registro .:"+this.dataRegistro.dia+"/"+this.dataRegistro.mes+"/"+this.dataRegistro.ano);
System.out.println("RG .: "+this.rg);
System.out.println("Data do Nascimento"+this.dataNascimento);
System.out.println("Nome da Mae .: "+this.nomeDaMae);
System.out.println("Nome do Pai .: "+this.nomeDoPai);
System.out.println("Cidade Natal .: "+this.cidadeNatal);
System.out.println("Endereco Atual .: "+this.enderecoAtual);
}
}
Classe TestaFuncionario
É nesta classe que estou tendo problema, eu não consigo compilar a TestaFuncionario pois ocorre o erro : TestaFuncionario.java:7: error: cannot find symbol f1.dataRegistro.preencheData(1, 7, 2004); symbol: method preencheData(int, int, int) location: variable dataRegistro of type Data O que estou fazendo errado ?
class TestaFuncionario{
public static void main(String[] args){
Funcionario f1 = new Funcionario();
f1.nome = "Leandro";
f1.salario = 1000.00;
f1.dataRegistro = new Data();
f1.dataRegistro.preencheData(1, 7, 2004);
f1.rg = "22.222.222-1";
f1.nomeDaMae = "Teresa";
f1.nomeDoPai = "Joao";
f1.dataNascimento = "04/04/1979";
f1.cidadeNatal = "CATANDUVA";
f1.enderecoAtual = "Rua 1 nro 10";
System.out.println("Salario Atual .: "+f1.salario);
f1.recebeAumento(1500.00);
double ganhoAnual = f1.calculaGanhoAnual();
f1.mostra();
System.out.println("Salario Com Aumento .: "+f1.salario);
System.out.println("Ganho anual = "+ganhoAnual);
}
}