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