I det här programmet lär du dig att vända ett nummer med hjälp av en while-loop och en for-loop i Java.
För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:
- Java medan och gör … medan Loop
- Java för Loop
Exempel 1: Omvänd ett nummer med 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); ) )
Produktion
Omvänd nummer: 4321
I det här programmet, medan loop används för att vända ett nummer enligt följande steg:
- Först lagras resten av numret dividerat med 10 med variabeln. Nu innehåller siffran den sista siffran på num, dvs 4.
siffran läggs sedan till den omvända variabeln efter att ha multiplicerat den med 10. Multiplikation med 10 lägger till en ny plats i det omvända numret. En tionde plats multiplicerad med 10 ger dig tionde plats, tionde ger dig hundradel och så vidare. I detta fall innehåller omvänd 0 * 10 + 4 = 4.
num divideras sedan med 10 så att det nu bara innehåller de tre första siffrorna: 123. - Efter andra iteration är siffran lika med 3, omvänd lika med 4 * 10 + 3 = 43 och num = 12
- Efter tredje iteration är siffran lika med 2, omvänd lika med 43 * 10 + 2 = 432 och num = 1
- Efter fjärde iteration är siffran lika med 1, omvänd lika med 432 * 10 + 1 = 4321 och num = 0
- Nu num = 0, så testuttrycket
num != 0
misslyckas och medan slingan avslutas. omvänd innehåller redan det omvända numret 4321.
Exempel 2: Vänd ett nummer med 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); ) )
Produktion
Omvändt nummer: 7654321
I ovanstående program ersätts while-slingan med en for-loop där:
- inget initialiseringsuttryck används
- testuttryck förblir detsamma (
num != 0
) - uppdatering / inkrement uttryck innehåller
num /= 10
.
Så efter varje iteration körs uppdateringsuttrycket som tar bort den sista siffran för num.
När for-slingan avslutas innehåller omvänd det omvända numret.