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

mais a data vai sair nesse formato msm!? Data@161cd475

class Funcionario6{
    String nome;
    String funcao;
    Data dataEntrada;

        void mostra(){
            System.out.println(nome);
            System.out.println(funcao);
            System.out.println(dataEntrada);


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

                    void formataData(int dia, int mes, int ano){
                        dia=dia;
                        mes=mes;
                        ano=ano;

                    }
            } 
class Teste{
    public static void main(String[] args){
        Funcionario6 Jaqueline = new Funcionario6();
            Jaqueline.nome = "Jaqueline Mendes";
            Jaqueline.funcao = "Esteticista";


            Data dataEntrada = new Data();
            Jaqueline.dataEntrada = dataEntrada;
            Jaqueline.dataEntrada.formataData(5,9,1995);

            Jaqueline.mostra();



    }
}
3 respostas
solução!

Eu tinha respondido no outro tópico, vou explicar aqui de novo:

Janayna, Esse valor que saiu é a referência na memória da variável.

Para imprimir num valor amigável, você tem duas opções:

1) Implementar uma função de formatar a data antes de imprimir. No caso, +- assim:

public String imprimirData() {
    return this.dia + "/" + this.mes + "/" + this.ano
}

E fazer a chamada nessa função, ao invés de chamar o objeto diretamente.

System.out.println(dataEntrada.imprimirData())

2) A outra opção envolve a sobreescrita do método toString(), que é justamente o método padrão chamado por um objeto ao ser incluso dentro de um System.out.

No caso, ficaria:

public String toString() {
        return this.dia + "/" + this.mes + "/" + this.ano
    }

Nesse caso, não precisaria alterar a chamada do método dentro do System.out.

Legal!!

Essa 2 linhas são desnecessárias:

Data dataEntrada = new Data();

Jaqueline.dataEntrada = dataEntrada;