2
respostas

Quero saber se o atributo func.dataAdmissao recebeu corretamente a data atribuída a ele. Como fazer o método mostra() mostrar o mesmo valor da variável DtEditada?

class Funcionario {
    String nome;
    String departamento;
    double salario;
    Data dataAdmissao;
    String RG;
    double calculaGanhoAnual(){
        double ganhoAnual = this.salario * 12;
        return ganhoAnual;
    }
    void recebeAumento(double valor){
        this.salario =+ valor;
    }
    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 Admissao = " + this.dataAdmissao);
        System.out.println("RG.............. = " + this.RG);
        System.out.println("Ganho Anual..... = " + this.calculaGanhoAnual());
    }

}

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

    public String retornaData(){
            return this.dia + "/" + this.mes + "/" + this.ano;
        }
}
class TestaFuncionario {
    public static void main(String[] args) {

            Funcionario func = new Funcionario();    
        func.nome = "Virginia";

        String dtEditada;

        Data data = new Data();

        data.dia = 01;
        data.mes = 02;
        data.ano = 2017;
        dtEditada = data.retornaData();

        System.out.println("");
        System.out.println("Data editada = " + dtEditada);
        System.out.println("");

        func.dataAdmissao = data;
        func.mostra();
        }
}
2 respostas

É possível adicionar um método toString na classe Data para exibir o valor

@Override
    public String toString() {
        return "Data: " + dia + "/" + mes + "/" + ano;
    }

Olá Virginia!

Para que o método mostra exiba o mesmo valor da string dtEditada basta que você modifique a linha responsável por exibir a data da seguinte forma:

System.out.println("Data de Admissao = " + this.dataAdmissao.retornaData());

Utilizando o método retornaData você conseguirá exibir a data na formatação dia/mês/ano de forma simples e aproveitando o código já escrito.

Nesse caso a variável dtEditada não é necessária, imagino que a tenha criado para testar a formatação da data quando exibida na tela.

Espero ter ajudado.