Esta linha retorna este erro:
f1.setDataEntrada(new Data(1, 8, 2011));
Funcionario.java:145: error: cannot find symbol
f1.setDataEntrada(new Data.preencheData(1, 8, 2011));
^
symbol: class preencheData
location: class Data
1 error
-------------------------------------------------------------------
O que ha de errado minha classe Data? Segue a mesma e as demais:
class Funcionario
{
private String nome;
private String departamento;
private double salario;
private Data dataEntrada;
private String rg;
public double getGanhoAnual(){
return this.salario * 12;
}
public String getNome(){
return this.nome;
}
public void setNome(String nome){
this.nome = nome;
}
public String getDepartamento(){
return this.departamento;
}
public void setDepartamento(String departamento){
this.departamento = departamento;
}
public double getSalario(){
return this.salario;
}
public void setSalario(double salario){
this.salario = salario;
}
public Data getDataEntrada() {
return this.dataEntrada;
}
public void setDataEntrada(Data dataEntrada) {
this.dataEntrada = dataEntrada;
}
public String getRg(){
return this.rg;
}
public void setRg(String rg){
this.rg = rg;
}
public void recebeAumento(double aumento)
{
salario += aumento;
}
public void mostra() {
System.out.println("Nome...........: " + this.nome);
System.out.println("Departamento...: " + this.departamento);
System.out.println("Salario........: " + this.salario);
//System.out.println("Data de Entrada: " + this.dataEntrada);
System.out.println("RG.............: " + this.rg);
//System.out.println("Ganho Anual....: " + this.calculaGanhoAnual());
System.out.println("Ganho Anual....: " + this.getGanhoAnual());
//System.out.println("Entrou Em...Dia: " + this.dataEntrada.dia);
//System.out.println("............Mes: " + this.dataEntrada.mes);
//System.out.println("............Ano: " + this.dataEntrada.ano);
//System.out.println("Data de entrada: " + this.dataEntrada.getFormatada());
System.out.println("");
}
}
class Empresa{
String nome;
Funcionario[] empregados; //Aqui foi criado um atributo "empregados" do tipo "array" da "classe Funcionario"
String cnpj;
int livre = 0;
void adiciona(Funcionario f){
this.empregados[this.livre] = f; //O atributo "empregados" desta(this) classe.
this.livre++;
}
void mostraEmpregados() {
for (int i = 0; i < this.livre; i++) {
System.out.println("Funcionário na posição: " + i);
System.out.println("Nome do Funcionario...: " + this.empregados[i].getNome());
System.out.println("....................R$: " + this.empregados[i].getSalario());
}
}
void mostraTodasAsInformacoes() {
for (int i = 0; i < this.livre; i++) {
System.out.println("Funcionário na posição: " + i);
this.empregados[i].mostra();
}
}
//verifica se um determinado Funcionario se encontra ou não como funcionário desta empresa.
boolean contem(Funcionario f) {
for (int i = 0; i < this.livre; i++) {
if (f == this.empregados[i]) {
return true;
}
}
return false;
}
}
class TestaEmpresa{
public static void main(String[] args){
Empresa empresa = new Empresa();
empresa.empregados = new Funcionario[10]; //Aqui instanciamos a classe Funcionario para o atributo
//empregados que é uma array da classe Funcionario...
Funcionario f1 = new Funcionario(); //Cria um objeto Funcionario na memoria e instancia o atributo f1, setando o primeiro objeto
f1.setSalario(16875);
f1.setNome("Everton");
f1.setDepartamento("Diretoria");
f1.setRg("32131654");
empresa.adiciona(f1); //Invoca o metodo adiciona da Classe Empresa e este metodo incrementa +1 ao atributo livre...
empresa.mostraTodasAsInformacoes();
}
}
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 getFormatada(){
return this.dia +"/"+ this.mes +"/"+ this.ano;
}
}
class TestaFuncionario
{
public static void main(String[] args)
{
Funcionario f1 = new Funcionario();
f1.setNome("Everton");
f1.setSalario(7000);
f1.recebeAumento(2500);
f1.setDataEntrada(new Data(1, 8, 2011));
f1.setDepartamento("Comercial");
f1.setRg("12345678");
f1.mostra();
}
}