În această secțiune, vom învăța cum să inversați un număr în Java folosind buclă while , pentru buclă și recursiunea .
Pentru a inversa un număr, urmați pașii de mai jos:
- În primul rând, găsim restul numărului dat utilizând operatorul modulo (%).
- Înmulțiți variabila inversă cu 10 și adăugați restul în ea.
- Împărțiți numărul la 10.
Repetați pașii de mai sus până când numărul devine 0.
șir în metodele java
Sunt Trei modalități de a inversa un număr în Java :
- Inversați un număr folosind bucla while
- Inversați un număr folosind bucla for
- Inversați un număr folosind recursiunea
Să aplicăm pașii de mai sus într-un exemplu.
Exemplu
Să presupunem că vrem să inversăm numărul 1234.
În acest exemplu, am luat trei variabile numite număr (numărul care trebuie inversat), rest (stochează restul), verso (stochează numărul invers) inițializat 0.
Iterația 1:
boolean la șir javanumăr = 1234
rest = 1234 % 10 = 4
invers = 0 * 10 + 4 = 0 + 4 = 4
număr = 1234 / 10 = 123
Acum valoarea numărului și a variabilei inverse este 123 și, respectiv, 4.
Iterația 2:
număr = 123rest = 123 % 10 = 3
invers = 4 * 10 + 3 = 40 + 3 = 43
număr = 123 / 10 = 12
Acum valoarea numărului și a variabilei inverse este 12 și, respectiv, 43.
Iterația 3:
număr = 12rest = 12 % 10 = 2
invers = 43 * 10 + 2 = 430 + 2 = 432
număr = 12 / 10 = 1
Acum valoarea numărului și a variabilei inverse este 1 și, respectiv, 432.
Iterația 4:
număr = 1rest = 1 % 10 = 1
invers = 432 * 10 + 1 = 4320 + 1 = 4321
număr = 1 / 10 = 0
Acum numărul variabil devine 0. Prin urmare, obținem numărul invers 4321 .
Să implementăm logica de mai sus în a program Java .
caracter în șir
Inversați un număr folosind bucla while
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); } }
Ieșire
The reverse of the given number is: 456789
Inversați un număr folosind bucla for
În programul următor, am înlocuit bucla while cu o buclă for. De asemenea, elimină ultima cifră a numărului, după fiecare iterație. Când starea, număr!=0 devine fals, bucla iese și obținem numărul inversat.
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); } }
Ieșire
conversia obiectului în șir
The reverse of the given number is: 654321
În programul de mai sus, putem scrie și bucla for după cum urmează:
for(;number != 0;) { int remainder = number % 10; reverse = reverse * 10 + remainder; number=number/10; }
Inversați un număr folosind recursiunea
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('Enter the number that you want to reverse: '); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int reverse_number = reverseNumber(n); System.out.println('The reverse of the given number is: '+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)>
Ieșire 2:
Enter the number that you want to reverse: 7654123 The reverse of the given number is: 3214567
Următorul program inversează ambele numere, pozitive și negative. Când introducem un număr, acesta verifică mai întâi dacă numărul este pozitiv sau negativ. Dacă numărul este negativ, acesta transformă numărul în pozitiv prin înmulțirea -1. După aceea, efectuează aceiași pași (cum am efectuat în programele de mai sus) pentru a inversa un număr. În cele din urmă, verifică din nou dacă numărul este negativ sau pozitiv. Pentru a face numărul negativ, acesta înmulțește din nou numărul invers cu -1.
ReverseNumberExample4.java
import java.util.*; public class ReverseNumberExample4 { public static void main(String args[]) { System.out.print('Enter the number that you want to reverse: '); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int reverse_number = reverseNumber(n); System.out.println('The reverse of the given number is: '+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; } }
Ieșire 1:
Enter the number that you want to reverse: -98765 The reverse of the given number is: -56789
Ieșire 2:
Enter the number that you want to reverse: 321987 The reverse of the given number is: 789123
10)>