Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Exercício formata data.

quando vou rodar compilar minha classe funcionarios apresenta o seguinte erro: primeiro compilo a data;

class Data {
    int dia;
    int mes;
    int ano;

    public 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;
    }

}

depois compilo o funcionario:

class Funcionario {
    String nome;
    String dpto;
    double salario;

    String rg;

    public void recebeAumento(double recebeAumento) {
        this.salario += recebeAumento;
    }

    public double calculaGanhoAnual() {
        return this.salario * 12;
    }

    Data dataEntrada = new Data();

    public void mostra(){
        System.out.println("Funcionario:" + this.nome);
        System.out.println("RG:" + this.rg);
        System.out.println("Dia: " + this.dataEntrada.dia);
        System.out.println("Mês: " + this.dataEntrada.mes);
        System.out.println("Ano: " + this.dataEntrada.ano);
        System.out.println("Data de entrada: " + this.dataEntrada.getFormatada());
        System.out.println("Trabalha no departamento de:" + this.dpto);
        System.out.println("salario atual:" + this.salario);
        System.out.println("Salario Anual: " + this.calculaGanhoAnual());
    }
}

e aprece o seguinte erro:

C:\Users\tr589895\Desktop\Projetos\Java> javac Data.java

C:\Users\tr589895\Desktop\Projetos\Java> javac Funcionario.java
Funcionario.java:24: error: cannot find symbol
        System.out.println("Data de entrada: " + this.dataEntrada.getFormatada()
);
                                                                 ^
  symbol:   method getFormatada()
  location: variable dataEntrada of type Data
1 error

o que devo fazer ?

2 respostas
solução!

Oi, Giovani.

Se você perceber, o nome do seu método está diferente do criado na classe Data. Perceba:

Você chama

getFormatada()

E na sua classe está

getFormataData()

Está com erro na seguinte linha do seu código:

System.out.println("Data de entrada: " + this.dataEntrada.getFormatada());

Acontece que getFormatada() não existe. O que existe é getFormataData()