Pra te falar a verdade, não entendi absolutamente nada do que esse metodo seu está fazendo… qual foi sua intenção colocando essas barras entre as variaveis? E porque atribuiu o “resultado” à variavel dtDate sendo que você não faz mais nada com ela abaixo? E afinal, o que significa a variavel dtDate?
Se o que você quer é mostrar a data como uma String formatada, dê uma olhada na classe SimpleDateFormat e use a classe Date para representar datas.
E
esqueletoPJ
kra não recomendo o uso da classe Date vc pode reparar que tem muito metodo deprecado(deprecated) na documentação da classe use a classe Calendar e como no post anterior não entendi muito o objetivo disso. Uma metodo q recebe um valor inteiro e atribui a mesma variavel q recebeu??? Explique-se melhor.
Esqueleto
M
mando82PJ
Vou explicar melhor:
preciso criar uma classe Date que tenha 3 variáveis de instancia:
mês, dia e ano (todas tipo int), essa classe deve ter um construtor que inicializa as 3 variaveis de instancia.
Fazer um metodo set e um get para cada variavel de instancia.
Fazer um metodo displayDate (citado abaixo) que exiba o mes, dia e ano separados por barras normais (/); e por fim uma classe DateTest para testar a classe Date.
publicstaticvoidmain(Stringargs[]){intdtDia;intdtMes;intdtAno;Datedate=newDate(12,02,2006);Scannerinput=newScanner(System.in);System.out.print("Digite o dia: ");dtDia=input.nextInt();System.out.print("Digite o mes: ");dtMes=input.nextInt();System.out.print("Digite o ano: ");dtAno=input.nextInt();//date.displayDate( dtDia, dtMes, dtAno );date.setDatDia(date.getDatDia());date.setDatMes(date.getDatMes());date.setDatAno(date.getDatAno());System.out.printf("\nA data correta e: %d%d%d\n",dtDia/dtMes/dtAno);}
}
J
jaireltonPJ
Não seria isso?
public String displayDate(){
return datDia+"/"+datMes+"/"+datAno;
}
Na realidade a classe Date em si não está marcada como deprecated, e ainda é a classe recomendada para representação de datas, os métodos deprecated da classe são devidos as duas funcionalidades que ela tinha inicialmente, de manipular os campos da data individualmente e de formatar a data, essa duas funcionalidades foram transferidas para a classe Calendar e DateFormat, mas somente essas duas funcionalidades, não a de representar a data, o que não é a função de Calendar.
I
iktuzPJ
Não seria isto aqui:
System.out.printf("\nA data correta e: %d/%d/%d\n",dtDia,dtMes,dtAno);
publicstaticvoidmain(Stringargs[]){Datedate=newDate(12,02,2006);System.out.printf("\nA data correta e: %s %s %s\n",date.displayDate());}
}
é um exercicio de um livro, ele pede pra criar as classes…
P
pedrobuskoPJ
troque
System.out.printf("\nA data correta e: %s %s %s\n",date.displayDate());
em Java2
System.out.println("A data correta e: "+date.displayDate());
eu aqui não tenho o Java5 pra poder testar o seu printf, mas o lance eh q vc esta tentando mostrar 3 String usando %s 3 vezes…porem o seu metodo displayDate() soh retorna 1 String…raciocinando dessa forma o q vc pode tentar tb eh:
System.out.printf("\nA data correta e: %s\n",date.displayDate());
lembrando q isso eu nao consigo testar aqui, mas pelo seu erro, deve funcionar…