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;
}
String getFormatadata() {
return this.dia + "/" + this.mes + "/" + this.ano;
}
}
class Funcionario {
private String nome ;
private String departamento;
private Double salario;
private Data dataEntrada;
private String rg;
public void setNome(String nome) {
this.nome = nome;
}
public String getNome() {
return this.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 setDataEntrada(Data dataEntrada) {
this.dataEntrada = dataEntrada;
}
public Data getDataEntrada() {
return this.dataEntrada;
}
public void setRg(String rg) {
this.rg = rg;
}
public String getRg() {
return this.rg;
}
public double getGanhoAnual(int acumuladoAte) {
return this.salario * acumuladoAte;
}
void recebeAumento(double aumento) {
this.salario = this.salario + aumento;
}
void mostra() {
System.out.println("Nome : " + this.nome);
System.out.println("Departamento : " + this.departamento);
System.out.println("Salário : R$ " + this.salario);
System.out.println("Data de entrada : " + this.dataEntrada.getFormatadata());
System.out.println("RG : " + this.rg);
System.out.println("");
}
}
class TestaFuncionario {
public static void main(String[] args) {
Funcionario f1 = new Funcionario();
f1.setNome("Hugo");
f1.setSalario(100.0);
f1.setDepartamento("TI");
f1.setRg("123456");
f1.setDataEntrada(new Data.preencheData(1, 7, 2009));
f1.mostra();
}
}
Ao efetuar o javac TestaFuncionario.java da a seguinte mensagem de error: error: constructor Data inc class Data cannot be applied to given types; f1.setDataEntrada(new Data(1,7,2009));
E se eu trocar f1.setSalario(100.0) para f1.setSalario(100) da a mensagem também
error: incompatible types: int cannot be converted do Double
O que posso fazer?