logo

Come invertire un numero in Java

In questa sezione impareremo come invertire un numero in Java utilizzando ciclo while , per ciclo E ricorsione .

Per invertire un numero, seguire i passaggi indicati di seguito:

  • Innanzitutto, troviamo il resto del numero specificato utilizzando l'operatore modulo (%).
  • Moltiplica la variabile reverse per 10 e aggiungici il resto.
  • Dividi il numero per 10.

Ripetere i passaggi precedenti finché il numero non diventa 0.

strutture dati Java
Come invertire un numero in Java

Ci sono tre modi per invertire un numero Giava :

  • Invertire un numero utilizzando il ciclo while
  • Invertire un numero utilizzando il ciclo for
  • Invertire un numero utilizzando la ricorsione

Applichiamo i passaggi precedenti in un esempio.

Esempio

Supponiamo di voler invertire il numero 1234.

In questo esempio, abbiamo preso tre variabili denominate numero (il numero da invertire), resto (memorizza il resto), inversione (memorizza il numero inverso) inizializzato 0.

Iterazione 1:

Ubuntu costruire elementi essenziali
numero = 1234
resto = 1234 % 10 = 4
inverso = 0 * 10 + 4 = 0 + 4 = 4
numero = 1234 / 10 = 123

Ora il valore del numero e della variabile inversa è rispettivamente 123 e 4.

Iterazione 2:

numero = 123
resto = 123 % 10 = 3
inverso = 4 * 10 + 3 = 40 + 3 = 43
numero = 123 / 10 = 12

Ora il valore del numero e della variabile inversa è rispettivamente 12 e 43.

Iterazione 3:

numero = 12
resto = 12% 10 = 2
inverso = 43 * 10 + 2 = 430 + 2 = 432
numero = 12 / 10 = 1

Ora il valore del numero e della variabile inversa è rispettivamente 1 e 432.

Iterazione 4:

numero = 1
resto = 1% 10 = 1
inverso = 432 * 10 + 1 = 4320 + 1 = 4321
numero = 1/10 = 0

Ora il numero variabile diventa 0. Quindi, otteniamo il numero inverso 4321 .

Implementiamo la logica di cui sopra in a Programma Java .

Invertire un numero utilizzando il ciclo while

ReverseNumberEsempio1.java

.successivo 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); } } 

Produzione

 The reverse of the given number is: 456789 

Invertire un numero utilizzando il ciclo for

Nel programma seguente abbiamo sostituito il ciclo while con un ciclo for. Rimuove anche l'ultima cifra del numero, dopo ogni iterazione. Quando la condizione, numero!=0 diventa falso, il ciclo termina e otteniamo il numero invertito.

ReverseNumberEsempio2.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); } } 

Produzione

 The reverse of the given number is: 654321 

Nel programma sopra, possiamo anche scrivere il ciclo for come segue:

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

Invertire un numero utilizzando la ricorsione

ReverseNumberEsempio3.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)>

Uscita 2:

 Enter the number that you want to reverse: 7654123 The reverse of the given number is: 3214567 

Il seguente programma inverte entrambi i numeri, positivo e negativo. Quando inseriamo un numero, controlla innanzitutto che il numero sia positivo o negativo. Se il numero è negativo, lo converte in positivo moltiplicando -1. Successivamente, esegue gli stessi passaggi (come abbiamo eseguito nei programmi precedenti) per invertire un numero. Alla fine, controlla ancora una volta che il numero sia negativo o positivo. Per rendere il numero negativo, moltiplica nuovamente il numero inverso per -1.

ReverseNumberEsempio4.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; } } 

Uscita 1:

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

Uscita 2:

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