Tässä ohjelmassa opit kääntämään luvun käyttämällä Java-silmukkaa ja for-silmukkaa.
Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Java-ohjelmointiaiheista:
- Java taas ja tee … samalla kun silmukka
- Java silmukalle
Esimerkki 1: Numeron kääntäminen käyttämällä Java-silmukkaa
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); ) )
Tuotos
Käänteinen numero: 4321
Tässä ohjelmassa silmukkaa käytetään luvun kääntämiseen seuraavien vaiheiden mukaisesti:
- Ensinnäkin loput numerosta jaettuna 10: llä tallennetaan muuttuvaan numeroon. Numero sisältää nyt viimeisen numeron, eli 4.
luku lisätään sitten käännettyyn muuttujaan kertomalla se 10: llä. Kertominen 10: llä lisää uuden paikan käänteiseen numeroon. Yksi sija kerrottuna 10: llä antaa sinulle kymmenennen, kymmenennen sadan ja niin edelleen. Tässä tapauksessa käännetty sisältää 0 * 10 + 4 = 4.
numero jaetaan sitten 10: llä siten, että nyt se sisältää vain kolme ensimmäistä numeroa: 123. - Toisen iteraation jälkeen numero on 3, käänteinen on 4 * 10 + 3 = 43 ja num = 12
- Kolmannen iteraation jälkeen numero on 2, käänteinen on 43 * 10 + 2 = 432 ja num = 1
- Neljännen iteraation jälkeen luku on yhtä kuin 1, käänteinen on 432 * 10 + 1 = 4321 ja num = 0
- Nyt num = 0, joten testilauseke
num != 0
epäonnistuu ja silmukka poistuu. käännetty sisältää jo käännetyn numeron 4321.
Esimerkki 2: Käännä numero käyttämällä Java for for -silmukkaa
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); ) )
Tuotos
Käänteinen numero: 7654321
Edellä olevassa ohjelmassa while-silmukka korvataan for-silmukalla, jossa:
- mitään alustuslauseketta ei käytetä
- testilauseke pysyy samana (
num != 0
) - päivitys- / lisäyslauseke sisältää
num /= 10
.
Joten jokaisen iteraation jälkeen päivitysilmaisu suoritetaan, joka poistaa viimeisen numeron.
Kun for-silmukka poistuu, käännetty sisältää käännetyn numeron.