Gyakorlati alapok
A leghasznosabb Java-alkalmazás: a másodpercátváltó
No, az óra matematikáját egészen a sumérektől kezdve mindenki érti:
-
1 perc = 60 másodperc,
-
1 óra = 60 perc = 3600 másodperc,
-
1 nap = 24 óra = 1440 perc = 86400 másodperc,
-
stb.
Ebben a rövid programban a bekért másodperc lesz átváltva óra-perc-másodpercre. A szabványos bekérési algoritmus egy hátultesztelő ciklussal azt ellenőrzi, hogy ne kerüljön a "rendszerbe" 1-nél kisebb szám. Ezután a fenti osztási arányok implementálása következik, amelyben természetesen ugyanolyan arányban maguk az osztószámok is megjelennek. A számítás trükkje, hogy felhasználhatjuk a maradékképzés műveletét (%). A "leosztás" az órától kezdődik (int ora = szam / 3600;), ennek óramaradéka (int oramaradek = szam % 3600;) lesz kiindulópontja a perc és a másodperc kiszámításának:
int perc = oramaradek / 60;
masodperc = oramaradek % 60;
A kiírás hagyományos óra : perc : másodperc formátumban történik.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int masodperc = 0;
int szam = 0;
Scanner in = new Scanner(System.in);
do{
System.out.println("Kérem, hogy adja
meg a másodpercet (minimum 1 sec)!");
String elsoSzam = in.nextLine();
szam = Integer.parseInt(elsoSzam);
}while(szam < 1);
int ora = szam / 3600;
int oramaradek = szam % 3600;
int perc = oramaradek / 60;
masodperc = oramaradek % 60;
System.out.println(ora + ":" + perc + ":" + masodperc);
}
}
Végeredmény (például):
Kérem, hogy adja meg a másodpercet (minimum 1 sec)!
0
Kérem, hogy adja meg a másodpercet (minimum 1 sec)!
7823
2:10:23