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

Data ex1.Data@15db9742

Nome :null Data de entrada :ex1.Data@15db9742 RG :null Salario :1234.0 Departamento :null

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

void preencherData(int dia, int mes, int ano){ this.dia = dia; this.mes = mes; this.ano = ano; } } public class Ex1 {

public static void main(String[] args) { Funcionario jose = new Funcionario(); jose.salario = 100; jose.calculaGanhoAnual();

Funcionario marcos = new Funcionario(); marcos.salario = 1234;

marcos.dataentrada = new Data(); marcos.dataentrada.preencherData(10, 05, 2017); marcos.mostra();

O resultado da data esta saindo como ex1.Data@15db9742 e não entendi por que esta saindo dessa forma...

Me ajude por favor

3 respostas

Oi Raphael, blz?

pra ter certeza, eu precisaria dar uma olhada no seu método mostra(), mas acredito que você esteja imprimindo marcos.dataentrada; que é um objeto do tipo Data que você criou.

Como você pediu para ele imprimir a variável, ele vai te mostrar a referencia do objeto. Pra resolver isso ai, você tem que chamar o metodo .toString() nesse objeto.

marcos.dataentrada.toString();

Obs: não esqueça o CamelCase nas variáveis, por exemplo: "dataEntrada" ;).

Espero ter ajudado. =)

não consegui entender como devo usar o To String

public static void main(String[] args) { Funcionario jose = new Funcionario(); jose.salario = 100; jose.calculaGanhoAnual();

Funcionario marcos = new Funcionario(); marcos.salario = 1234; marcos.dataentrada = new Data(); marcos.dataentrada.toString(preencherData(10, 05, 2017)); marcos.mostra();

}

como posso utilizar?

solução!

o metodo que vc preenche a dataentrada é do mesmo jeito que vc fazia antes:

marcos.dataentrada.preencherData(10, 05, 2017);

dentro do método mostra() vc deve colocar o toString na hora que você imprime:

System.out.println(dataentrada.toString());

Eu não sei como está o seu método mostra(), mas deve ser alguma coisa assim =)