Não ficou muito claro esse exercício para mim. Alterei minha classe Data igual a da resolução. Como o formata não existia mais, eu substitui.
public class Data { int dia, mes, ano;
public Data(){
}
public Data(int dia, int mes, int ano) { this.dia = dia; this.mes = mes; this.ano = ano;
if (! isDataViavel()) { System.out.println("A data " + isDataViavel() + " não existe!"); }
}
private boolean isDataViavel() { if (dia <= 0 || mes <= 0 || mes > 12 || ano <= 0) { return false; }
int ultimoDiaDoMes = 31; // por padrao são 31 dias if (mes == 4 || mes == 6 || mes == 9 || mes == 11 ) { ultimoDiaDoMes = 30; } else if (mes == 2) { ultimoDiaDoMes = 28; if((ano % 400 == 0) || ((ano % 4 == 0) && (ano % 100 != 0))){ ultimoDiaDoMes = 29; } } if (dia > ultimoDiaDoMes) { return false; }
return true; }
@Override public String toString(){ return dia + "/" + mes + "/" + ano; }
}
Essa lasse ficou sem erros, porém não sei exatamente qual alteração fazer no meu main.
public static void main(String[] args) { // TODO code application logic here
Empresa empresa= new Empresa(); empresa.empregados= new Funcionario[10];
Funcionario f1= new Funcionario();
f1.nome= "Jose dos Santos"; f1.setRG ("87.859.235-7"); f1.departamento= "RH"; //f1.dataDeEntrada= "05/10/2008"; f1.admissao= new Data(); f1.admissao.preencherData(28, 05, 2008); f1.setSalario(3560.0); f1.recebeAumento(500.0); f1.getGanhoAnual(); //f1.exibirAtributos(); empresa.adiciona(f1);
Funcionario f2= new Funcionario();
f2.nome= "Joselino dos Santos"; f2.setRG ("87.859.235-7"); f2.departamento= "RH"; //f2.dataDeEntrada= "05/10/2008"; f2.admissao= new Data(); f2.admissao.preencherData(20, 05, 2008); f2.setSalario(3560.0); f2.recebeAumento(500.0); f2.getGanhoAnual(); //f2.exibirAtributos(); empresa.adiciona(f2); //Funcionario f2= f1;
//if (f1 == f2){ // System.out.println("Funcionário já cadastrado"); //}else { // System.out.println("Novo funcionario cadastrado");
empresa.empregados[0].exibirAtributos(); empresa.empregados[1].exibirAtributos();
System.out.println("---"); empresa.mostrarTodasAsInformações();
}
}
O que devo colocar no lugar de f1.admissao.preencherData(28, 05, 2008); tentei isDataViavel e Data e continua dando erro.