logo

Hogyan lehet megfordítani egy számot Java-ban

Ebben a részben megtanuljuk hogyan lehet megfordítani egy számot Java nyelven segítségével míg hurok , hurokhoz és rekurzió .

Egy szám megfordításához kövesse az alábbi lépéseket:

  • Először a modulo (%) operátor segítségével keressük meg az adott szám maradékát.
  • Szorozzuk meg a fordított változót 10-zel, és adjuk hozzá a maradékot.
  • Osszuk el a számot 10-zel.

Ismételje meg a fenti lépéseket, amíg a szám 0 nem lesz.

római számjegy 1-től 100-ig
Hogyan lehet megfordítani egy számot Java-ban

Vannak három hogyan lehet egy számot megfordítani Jáva :

  • Fordítsa meg a számot a while ciklus használatával
  • Fordítson meg egy számot a for ciklus használatával
  • Fordítson meg egy számot rekurzióval

Alkalmazzuk a fenti lépéseket egy példában.

Példa

Tegyük fel, hogy meg akarjuk fordítani az 1234-es számot.

Ebben a példában három változót vettünk meg szám (a számot meg kell fordítani), maradék (a maradékot tárolja), fordított (a fordított számot tárolja) inicializálva 0.

1. iteráció:

készlet vs térkép
szám = 1234
maradék = 1234 % 10 = 4
fordított = 0 * 10 + 4 = 0 + 4 = 4
szám = 1234 / 10 = 123

Most a szám és a fordított változó értéke 123, illetve 4.

2. iteráció:

szám = 123
maradék = 123 % 10 = 3
fordított = 4 * 10 + 3 = 40 + 3 = 43
szám = 123 / 10 = 12

Most a szám és a fordított változó értéke 12, illetve 43.

3. iteráció:

szám = 12
maradék = 12 % 10 = 2
fordított = 43 * 10 + 2 = 430 + 2 = 432
szám = 12 / 10 = 1

Most a szám és a fordított változó értéke 1, illetve 432.

4. iteráció:

szám = 1
maradék = 1 % 10 = 1
fordított = 432 * 10 + 1 = 4320 + 1 = 4321
szám = 1/10 = 0

Most a változó szám 0 lesz. Így a fordított számot kapjuk 4321 .

Valósítsuk meg a fenti logikát a Java program .

Fordítsa meg a számot a while ciklus használatával

ReverseNumberExample1.java

 public class ReverseNumberExample1 { public static void main(String[] args) { int number = 987654, reverse = 0; while(number != 0) { int remainder = number % 10; reverse = reverse * 10 + remainder; number = number/10; } System.out.println('The reverse of the given number is: ' + reverse); } } 

Kimenet

 The reverse of the given number is: 456789 

Fordítsa meg a számot a for ciklus használatával

A következő programban a while ciklust egy for ciklusra cseréltük. Minden iteráció után eltávolítja a szám utolsó számjegyét is. Amikor az állapot, szám!=0 hamissá válik, a ciklus kilép, és a fordított számot kapjuk.

mockito bármikor

ReverseNumberExample2.java

 public class ReverseNumberExample2 { public static void main(String[] args) { int number = 123456, reverse = 0; //we have not mentioned the initialization part of the for loop for( ;number != 0; number=number/10) { int remainder = number % 10; reverse = reverse * 10 + remainder; } System.out.println('The reverse of the given number is: ' + reverse); } } 

Kimenet

 The reverse of the given number is: 654321 

A fenti programban a for ciklust is felírhatjuk a következőképpen:

 for(;number != 0;) { int remainder = number % 10; reverse = reverse * 10 + remainder; number=number/10; } 

Fordítson meg egy számot rekurzióval

ReverseNumberExample3.java

 import java.util.Scanner; public class ReverseNumberExample3 { //method for reverse a number public static void reverseNumber(int number) { if (number <10) 10 { prints the same number if is less than system.out.println(number); return; } else system.out.print(number % 10); reversenumber(number public static void main(string args[]) system.out.print('enter that you want to reverse: '); scanner sc="new" scanner(system.in); int num="sc.nextInt();" system.out.print('the reverse of given is: method calling reversenumber(num); < pre> <p> <strong>Output 1:</strong> </p> <pre> Enter the number that you want to reverse: 9 The reverse of the given number is: 9 </pre> <p> <strong>Output 2:</strong> </p> <pre> Enter the number that you want to reverse: 7654123 The reverse of the given number is: 3214567 </pre> <p>The following program reverses both numbers, positive and negative. When we enter a number, it first checks the number is positive or negative. If the number is negative, it converts the number into positive by multiplying -1. After that, it performs the same steps (as we have performed in the above programs) to reverse a number. At last, again it checks the number is negative or positive. To make the number negative, it again multiplies the reverse number by -1.</p> <p> <strong>ReverseNumberExample4.java</strong> </p> <pre> import java.util.*; public class ReverseNumberExample4 { public static void main(String args[]) { System.out.print(&apos;Enter the number that you want to reverse: &apos;); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int reverse_number = reverseNumber(n); System.out.println(&apos;The reverse of the given number is: &apos;+reverse_number); } //method to reverse a number public static int reverseNumber(int number) { boolean isNoNegative = number = 1) { lastDigit = number % 10; // gives the last digit of the number reverse = reverse * 10 + lastDigit; number = number / 10; // removes the last digit of the number } //makes the number negative return isNoNegative == true? reverse*-1 : reverse; } } </pre> <p> <strong>Output 1:</strong> </p> <pre> Enter the number that you want to reverse: -98765 The reverse of the given number is: -56789 </pre> <p> <strong>Output 2:</strong> </p> <pre> Enter the number that you want to reverse: 321987 The reverse of the given number is: 789123 </pre> <hr></10)>

2. kimenet:

i d e teljes formája
 Enter the number that you want to reverse: 7654123 The reverse of the given number is: 3214567 

A következő program mindkét számot megfordítja, pozitív és negatív. Amikor beírunk egy számot, először ellenőrzi, hogy a szám pozitív vagy negatív. Ha a szám negatív, a számot -1-gyel megszorozva pozitívvá alakítja. Ezt követően ugyanazokat a lépéseket hajtja végre (ahogy a fenti programokban is elvégeztük), hogy megfordítson egy számot. Végül ismét ellenőrzi, hogy a szám negatív vagy pozitív. Ahhoz, hogy a szám negatív legyen, ismét megszorozza a fordított számot -1-gyel.

ReverseNumberExample4.java

 import java.util.*; public class ReverseNumberExample4 { public static void main(String args[]) { System.out.print(&apos;Enter the number that you want to reverse: &apos;); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int reverse_number = reverseNumber(n); System.out.println(&apos;The reverse of the given number is: &apos;+reverse_number); } //method to reverse a number public static int reverseNumber(int number) { boolean isNoNegative = number = 1) { lastDigit = number % 10; // gives the last digit of the number reverse = reverse * 10 + lastDigit; number = number / 10; // removes the last digit of the number } //makes the number negative return isNoNegative == true? reverse*-1 : reverse; } } 

1. kimenet:

 Enter the number that you want to reverse: -98765 The reverse of the given number is: -56789 

2. kimenet:

 Enter the number that you want to reverse: 321987 The reverse of the given number is: 789123