Olá. Não estou conseguindo atribuir uma data no metodo Setter, pois está apresentando o erro abaixo na minha classe Main:
Exception in thread "main" java.lang.Error: nresolved compilation problem: The constructor Data(int, int, int) is undefined at TestaPrograma.main(TestaPrograma.java:29)
Poderiam me informar onde estou errando, por favor? Segue meu código, obrigado !
public class TestaPrograma {
public static void main(String[] args) {
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[4];
for (int i = 0; i < empresa.empregados.length; i++) {
Funcionario func = new Funcionario();
func.setSalario(1000 + i * 100);// = 1000 + i * 100;
func.setNome ("Func" + i); // = "Func" + i;
empresa.adiciona(func);
}
empresa.mostraEmpregados();
// como a array tem 5 espaços, tenho que abrir um If no metodo adiciona para ñ dar erro !!
Funcionario f = new Funcionario();
f.setNome("func1"); // = "func1";
Funcionario f1 = new Funcionario();
f1.setNome("Eu1"); // = "Eu1";
f1.setSalario(100);
f1.RG = "123";
//f1.dataEntrada.preencheData(8, 8, 1986);
f1.setDataEntrada(new Data(8, 8, 1986)); // -> O ERRO ESTÁ AQUI
Funcionario f2 = new Funcionario();
//f2.nome = "Eu2";
f2.setSalario(2000);
f2.RG = "123";
//f2.dataEntrada = "01/01/2011";
Funcionario f3 = new Funcionario();
//f3.nome = "Eu3";
f3.setSalario(3000);
f3.RG = "456789";
//f3.dataEntrada = "01/01/2013";
f1.recebeAumento(50);
//f1.mostra();
//f1.calculaGanhoAnual();
f2 = f1;
//System.out.println("salario " + f1.salario + " aumento de ");
if(f1 == f2){
System.out.println("salario de f1 e f2 são iguais");
}else{
System.out.println("salario de f1 e f2 são diferentes");
}
}
}
public class Funcionario {
private double salario;
//String dataEntrada;
String RG;
private String nome;
public Data dataEntrada=new Data();
public Data getDataEntrada(){
return this.dataEntrada;
}
public void setDataEntrada (Data dataEntrada) {
this.dataEntrada = dataEntrada;
}
public void recebeAumento (double aumento) {
this.salario += aumento;
}
public double calculaGanhoAnual () {
return this.salario += salario * 11;
}
public double getSalario(){
return this.salario;
}
public void setSalario (double salario) {
this.salario = salario;
}
public String getNome (){
return this.nome;
}
public void setNome (String nome) {
this.nome = nome;
}
void mostra(){
System.out.println("Nome " + this.nome);
System.out.println("Salario " + this.salario);
System.out.println("RG " + this.RG);
System.out.println("Dia da Admissão " + this.dataEntrada.dia);
System.out.println("Data da Admissão " + this.getDataEntrada().getFormatada());
System.out.println("Ganho Anual " + this.calculaGanhoAnual());
}
}
public class Data {
int dia;
int mes;
int ano;
//Data preencheData = new Data();
public void preencheData (int dia, int mes, int ano) {
this.dia = dia;
this.mes = mes;
this.ano = ano;
}
public String getFormatada(){
String data = this.dia + "/"+ this.mes + "/" + this.ano;
return data;
}
}