Java-ohjelma numeron kääntämiseksi

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 != 0epä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.

Mielenkiintoisia artikkeleita...