Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: kellon kierto-ongelma? [Java]

Sivun loppuun

Tommittaja [20.03.2009 16:46:45]

#

Niin että mulle annettiin sellanen tehtävä, että siinä syötetään oma aika, sitten aikaeron suunta (-/+) ja sitten aikaero... mutta en tajua tätä: jos aikaero on esim -7h ja oma aika on 02:00 niin miten sen saa tehtyä niin, että se aika ei ole vain 0? siis ei näin:

if (aika < 0)
     aika = 23;

koska tuolloin siitä tulee aina 23 tai 00.. pitäisikö pienentää vähennettävää arvoa aina joka kerran jälkeen silmukassa ja sen jälkeen muuttaa se esim. 23 ja sitten vähentää loput?

jmp [20.03.2009 17:02:07]

#

Lisää aikaan aikaero (esim. -7). Sen jälkeen tarkista, onko aika < 0. Jos on, lisää aikaan 24. Jos aika on sen sijaan >= 24, vähennä 24. Muussa tapauksessa ei tarvitse tehdä mitään.

Tommittaja [20.03.2009 17:07:48]

#

Kiitos, tuo olikin hieman helpompi tapa tehdä, kuin tuo silmukassa vähentäminen :D

tesmu [20.03.2009 22:18:09]

#

itse muuntaisin varmaan unixajaksi niin sillon olisi helppo vertailla

Tommittaja [21.03.2009 14:26:03]

#

mikä on unixaika?

Blaze [21.03.2009 14:32:10]

#

Tommittaja kirjoitti:

mikä on unixaika?

Sekunteja 1.1.1970 lähtien

Tommittaja [21.03.2009 21:18:27]

#

hmm... miten hyödyntäisin tuota unixaikaa?

Teuro [21.03.2009 21:38:29]

#

Tommittaja kirjoitti:

hmm... miten hyödyntäisin tuota unixaikaa?

Mitä jos sinulla on kasa sekunteja, josta pitää vähentää vaikka tuo 7 tuntia. Miten voit sekunneista vähentää tunteja? Vastaus pitäisi olla selviö, mutta väännetään ratakiskosta.

1 tunti [h] = 60 minuuttia [min]
1 min = 60 sekuntia [s]

muuntoSuhde = 60 * 60 = 3600

Eli kun meillä on siis läjä sekunteja vaikkapa 1237664142, niin vähennetään tuosta 7 tuntia.

int sekunnit = 1237664142;
int muuntoSuhde = 3600;
int aika = -7;

int uusiAika = sekunnit + (aika * muuntoSuhde); /* Ei ole pakko laittaa sulkuja */

system.out.println(uusiAika);

Tommittaja [21.03.2009 21:44:57]

#

aa... ok, taidan ensin yrittää tuolla 24 ja 60 lisäämisellä.. ;P

_Pete_ [23.03.2009 09:38:36]

#

Aika hommiin kannattaa käyttää Calendar luokkaa ja sen metodeja...

Tommittaja [23.03.2009 19:02:39]

#

juu, mutta tahdon ENSIN oppia tekemään itse, sitten vasta opettelemaan valmiita metodeita ;)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta