Relogio praticamente terminado

4 respostas
J

Pessoal, fiz uma classe com varias opcoes para se utilizar numa main class:
http://pastebin.com/m62fe99a8

O programa a se usar essa minha classe seria esse:
http://pastebin.com/m1e929596

O problema:
Quando se roda o programa, apos incrementar o setTime em 1 segundo, deveria se transformar em 0:0:0AM, e nao PM.

Caso se sete o tempo como 12 alguma coisa (ex. 12 23 50) deveria aparecer 12:23:50PM, porem aparece 0:23:50PM.

Tentei consertar de toda maneira mas nao consegui.

4 Respostas

m0ska

na linha 88 da classe relógio, c tá subtraindo a hora por 12, logo 12:33:33 vai ser = as 00:33:33
:slight_smile:

J

m0ska:
na linha 88 da classe relógio, c tá subtraindo a hora por 12, logo 12:33:33 vai ser = as 00:33:33
:)

hmmm mas se eu tirar essa subtracao, quando fizer 23:59:59 + 1 segundo, vai trasformar pra 12:00:00 e dai nao vai transformar pra 00:00:00AM sem a subtracao…

Sami_Koivu

E se você alterar isso:

hours = hours - 12;
newHours = Integer.toString(hours) + ":" + Integer.toString(minutes) + ":" + Integer.toString(seconds) + "PM";

para isso:

newHours = Integer.toString(hours-12) + ":" + Integer.toString(minutes) + ":" + Integer.toString(seconds) + "PM";

?

[]s,
Sami

J

Sami Koivu:
E se você alterar isso:

hours = hours - 12;
newHours = Integer.toString(hours) + ":" + Integer.toString(minutes) + ":" + Integer.toString(seconds) + "PM";

para isso:

newHours = Integer.toString(hours-12) + ":" + Integer.toString(minutes) + ":" + Integer.toString(seconds) + "PM";

?

[]s,
Sami

Obrigado pela dica! Juntei isso que voce falou mais isso aqui:

else if (hours == 12)
         {
            newHours = Integer.toString(hours) + ":" + Integer.toString(minutes) + ":" + Integer.toString(seconds) + "PM";
         }

e consegui resolver os dois problemas.

so nao entendi a logica na sua troca. Teria como explicar?

Criado 30 de outubro de 2008
Ultima resposta 31 de out. de 2008
Respostas 4
Participantes 3