Fiz algo de errado?
class Funcionario {
String nome;
String departamento;
double salario;
String rg;
double salarioAnual;
// Data dataEntrada;
void receberAumento( double aumento){
this.salario += aumento;
}
double ganhoAnual(){
return this.salario * 12;
}
Data dataDeEntrada = new Data();
void mostra(){
System.out.println("Nome:" + this.nome);
System.out.println("Departamento:" + this.departamento);
System.out.println("RG:" + this.rg);
System.out.println("Salario: R$" + this.salario);
System.out.println("Ganho anual: R$" + this.ganhoAnual());
System.out.println("Entrada:" + this.dataDeEntrada.dia + "/" + this.dataDeEntrada.mes + "/" + this.dataDeEntrada.ano);
System.out.println(" ");
}
}
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;
}
}
class Dados{
public static void main(String[]args){
// Pedro
Funcionario pedro = new Funcionario();
pedro.nome = "Pedro Silva";
pedro.salario = 9000.0;
pedro.rg = "04755060";
pedro.departamento = "TI";
pedro.dataDeEntrada.preencheData();
pedro.mostra();
}
}
Eu rodei assim, e o resultado não foi 0/0/0... e sim um erro:
funcionario.java:53: error: method preencheData in class Data cannot be applied to given types; pedro.dataDeEntrada.preencheData(); ^ required: int,int,int found: no arguments reason: actual and formal argument lists differ in length 1 error
O que está errado?