Java-programma om een ​​nummer om te keren

In dit programma leer je om een ​​getal om te draaien met een while-lus en een for-lus in Java.

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende Java-programmeeronderwerpen:

  • Java while en do … while Loop
  • Java voor Loop

Voorbeeld 1: draai een getal om met een while-lus in Java

 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); ) )

Uitvoer

 Omgekeerd nummer: 4321

In dit programma wordt de while-lus gebruikt om een ​​getal om te draaien, zoals aangegeven in de volgende stappen:

  • Eerst wordt de rest van het getal gedeeld door 10 opgeslagen in het variabele cijfer. Nu bevat het cijfer het laatste cijfer van num, dwz het 4.
    cijfer wordt dan toegevoegd aan de variabele omgekeerd na vermenigvuldiging met 10. Vermenigvuldiging met 10 voegt een nieuwe plaats toe aan het omgekeerde getal. De ene plaats vermenigvuldigd met 10 geeft je de tiende plaats, de tiende geeft je de honderdste, enzovoort. In dit geval bevat omgekeerd 0 * 10 + 4 = 4.
    num wordt dan gedeeld door 10 zodat het nu alleen de eerste drie cijfers bevat: 123.
  • Na de tweede iteratie is het cijfer gelijk aan 3, omgekeerd is het gelijk aan 4 * 10 + 3 = 43 en getal = 12
  • Na de derde iteratie is het cijfer gelijk aan 2, omgekeerd is het gelijk aan 43 * 10 + 2 = 432 en getal = 1
  • Na de vierde iteratie is het cijfer gelijk aan 1, omgekeerd is het gelijk aan 432 * 10 + 1 = 4321 en getal = 0
  • Nu num = 0, dus de testuitdrukking num != 0mislukt en while-lus wordt afgesloten. reversed bevat al het omgekeerde nummer 4321.

Voorbeeld 2: draai een getal om met een for-lus in Java

 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); ) )

Uitvoer

 Omgekeerd nummer: 7654321

In het bovenstaande programma wordt de while-lus vervangen door een for-lus waarbij:

  • er wordt geen initialisatie-uitdrukking gebruikt
  • testuitdrukking blijft hetzelfde ( num != 0)
  • update / increment-expressie bevat num /= 10.

Dus na elke iteratie wordt de update-expressie uitgevoerd die het laatste cijfer van num verwijdert.

Als de for-lus wordt afgesloten, bevat reversed het omgekeerde nummer.

Interessante artikelen...