Java-program for å reversere et nummer

I dette programmet lærer du å reversere et tall ved hjelp av en while-loop og en for-loop i Java.

For å forstå dette eksemplet, bør du ha kunnskap om følgende Java-programmeringsemner:

  • Java mens og gjør… mens Loop
  • Java for Loop

Eksempel 1: Reversere et tall ved hjelp av en while-loop i 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); ) )

Produksjon

 Omvendt nummer: 4321

I dette programmet, mens loop brukes til å reversere et tall som gitt i følgende trinn:

  • Først lagres resten av tallet delt på 10 på det variable tallet. Nå inneholder sifferet det siste sifferet på tall, dvs. 4.
    siffer blir deretter lagt til variabelen reversert etter å ha multiplisert den med 10. Multiplikasjon med 10 legger til et nytt sted i det omvendte tallet. En plass multiplisert med 10 gir deg tiendeplass, tiende gir deg hundredel osv. I dette tilfellet inneholder omvendt 0 * 10 + 4 = 4.
    num blir deretter delt med 10 slik at det nå bare inneholder de tre første sifrene: 123.
  • Etter andre iterasjon er siffer lik 3, reversert tilsvarer 4 * 10 + 3 = 43 og num = 12
  • Etter tredje iterasjon er siffer lik 2, reversert tilsvarer 43 * 10 + 2 = 432 og num = 1
  • Etter fjerde iterasjon er siffer lik 1, reversert tilsvarer 432 * 10 + 1 = 4321 og num = 0
  • Nå er num = 0, så testuttrykket num != 0mislykkes og mens sløyfen avsluttes. reversert inneholder allerede det omvendte nummeret 4321.

Eksempel 2: Snu et tall ved å bruke en for-loop i 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); ) )

Produksjon

 Omvendt nummer: 7654321

I det ovennevnte programmet erstattes while-loop med en for loop der:

  • ingen initialiseringsuttrykk brukes
  • testuttrykk forblir det samme ( num != 0)
  • oppdatering / inkrement uttrykk inneholder num /= 10.

Så etter hver iterasjon kjører oppdateringsuttrykket som fjerner det siste sifferet på num.

Når for-sløyfen går ut, vil reversert inneholde det omvendte tallet.

Interessante artikler...