Pessoal, não consegui fazer funcionar o private no dataEntrada. Os outros atributos funcionaram corretamente. Estou colocando abaixo o código sem o private nesse atributo dataEntrada. Se alguém puder me auxiliar como devo proceder, eu agradeço. Obrigado.
class Funcionario {
private String nome;
private String departamento;
private double salario;
Data dataEntrada;
private String rg;
public String getRg(){
return this.rg;
}
public void setRg(String rg){
this.rg = rg;
}
public String getNome(){
return this.nome;
}
public void setNome(String nome){
this.nome = nome;
}
public void setDepartamento(String departamento){
this.departamento = departamento;
}
public String getDepartamento(){
return this.departamento;
}
public void setSalario(double salario){
this.salario = salario;
}
public double getSalario(){
return this.salario;
}
public void recebeAumento(double meuAumento){
this.salario += meuAumento;
}
public double calculaGanhoAnual(){
return this.salario * 12;
}
public void mostra(){
System.out.println("Nome: " + this.nome);
System.out.println("departamento: " + this.departamento);
System.out.println("RG: " + this.rg);
System.out.println ("Salário: " + this.salario);
System.out.println("Ganho anual: " + this.calculaGanhoAnual());
System.out.println ("Data de entrada: " + dataEntrada.getFormatada());
}
}
class Data {
int dia, mes, ano;
void preencheData (int dia, int mes, int ano) {
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
String getFormatada(){
return this.dia + "/" + this.mes + "/" + this.ano;
}
}
class Empresa {
String nomeEmpresa;
String cnpj;
Funcionario[] funcionarios;
int livre = 0;
void adiciona(Funcionario func){
this.funcionarios[this.livre] = func;
this.livre ++;
}
void mostraTodasAsInfos(){
for (int i = 0; i < this.livre ; i++) {
System.out.println("Funcionário na posição: " + i);
this.funcionarios[i].mostra();
System.out.println(this.contem(funcionarios[i]));
}
}
boolean contem(Funcionario func){
for (int i = 0; i < this.livre ; i++) {
if (func == this.funcionarios[i]){
return true;
}
}
return false;
}
}
class TestaEmpresa {
public static void main(String[] args) {
Empresa minhaEmpresa = new Empresa();
minhaEmpresa.funcionarios = new Funcionario[10];
Funcionario f1 = new Funcionario();
f1.setSalario(6.200);
f1.setNome("José da Silva");
f1.setDepartamento("Gerência");
f1.setRg("23764743");
f1.dataEntrada = new Data();
f1.dataEntrada.preencheData(1,3,2012);
minhaEmpresa.adiciona(f1);
minhaEmpresa.mostraTodasAsInfos();
}
}