Ebben a programban megtanulhatja megfordítani a számot egy Java és egy for loop használatával a Java-ban.
A példa megértéséhez ismernie kell a következő Java programozási témákat:
- Java közben és csináld … míg a hurok
- Java a hurokhoz
1. példa: Fordítson meg egy számot egy Java-ciklus segítségével a Java-ban
public class ReverseNumber ( public static void main(String() args) ( int num = 1234, reversed = 0; while(num != 0) ( int digit = num % 10; reversed = reversed * 10 + digit; num /= 10; ) System.out.println("Reversed Number: " + reversed); ) )
Kimenet
Fordított szám: 4321
Ebben a programban, míg a ciklust egy szám megfordítására használják, a következő lépések szerint:
- Először a szám maradékát elosztva 10-vel a változó számjegyben tároljuk. Most a szám tartalmazza a szám utolsó számjegyét, vagyis a 4.
számjegyet hozzáadjuk a megfordított változóhoz, miután megszorozzuk 10-szel. A 10-zel való szorzás új helyet ad a megfordított számban. Az egyedik hely 10-zel megszorozva a tizedik, a tizedik a századikat kapja, és így tovább. Ebben az esetben a fordított 0 * 10 + 4 = 4
értéket tartalmaz. A számot ezután elosztjuk 10-vel, így most csak az első három számjegyet tartalmazza: 123. - A második iteráció után a szám egyenlő 3-mal, a fordított egyenlő 4 * 10 + 3 = 43 és a num = 12-vel
- Harmadik iteráció után a szám egyenlő 2-vel, a megfordított értéke 43 * 10 + 2 = 432 és a num = 1
- Negyedik iteráció után a szám egyenlő 1-gyel, a fordított értéke 432 * 10 + 1 = 4321 és a num = 0
- Most num = 0, tehát a teszt kifejezés
num != 0
sikertelen és a ciklus kilép. a fordított már tartalmazza a megfordított 4321 számot.
2. példa: Fordítson meg egy számot a Java for for ciklusával
public class ReverseNumber ( public static void main(String() args) ( int num = 1234567, reversed = 0; for(;num != 0; num /= 10) ( int digit = num % 10; reversed = reversed * 10 + digit; ) System.out.println("Reversed Number: " + reversed); ) )
Kimenet
Fordított szám: 7654321
A fenti programban a while ciklus helyébe egy for ciklus lép, ahol:
- nem használunk inicializáló kifejezést
- a teszt kifejezés ugyanaz marad (
num != 0
) - A frissítés / növekmény kifejezés tartalmazza
num /= 10
.
Tehát minden iteráció után fut a frissítési kifejezés, amely eltávolítja a szám utolsó számjegyét.
Amikor a for ciklus kilép, a fordított tartalmazza a megfordított számot.