Nesta seção, aprenderemos como reverter um número em Java usando enquanto loop , para loop e recursão .
Para reverter um número, siga as etapas abaixo:
- Primeiro, encontramos o resto do número fornecido usando o operador módulo (%).
- Multiplique a variável reversa por 10 e adicione o restante a ela.
- Divida o número por 10.
Repita as etapas acima até que o número se torne 0.
string java indexof
Há três maneiras de reverter um número em Java :
- Reverter um número usando loop while
- Reverter um número usando loop for
- Reverter um número usando recursão
Vamos aplicar as etapas acima em um exemplo.
Exemplo
Suponha que queiramos reverter o número 1234.
Neste exemplo, pegamos três variáveis chamadas número (o número a ser revertido), restante (armazena o restante), reverter (armazena o número reverso) inicializado em 0.
Iteração 1:
Linux quenúmero = 1234
resto = 1234% 10 = 4
reverso = 0 * 10 + 4 = 0 + 4 = 4
número = 1234/10 = 123
Agora o valor do número e da variável reversa é 123 e 4, respectivamente.
Iteração 2:
número = 123resto = 123% 10 = 3
reverso = 4 * 10 + 3 = 40 + 3 = 43
número = 123/10 = 12
Agora o valor do número e da variável reversa é 12 e 43, respectivamente.
Iteração 3:
número = 12resto = 12% 10 = 2
reverso = 43 * 10 + 2 = 430 + 2 = 432
número = 12/10 = 1
Agora o valor do número e da variável reversa é 1 e 432, respectivamente.
Iteração 4:
listar métodos javanúmero = 1
resto = 1% 10 = 1
reverso = 432 * 10 + 1 = 4320 + 1 = 4321
número = 1/10 = 0
Agora o número da variável se torna 0. Conseqüentemente, obtemos o número reverso 4321 .
Vamos implementar a lógica acima em um Programa Java .
Reverter um número usando loop 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); } }
Saída
The reverse of the given number is: 456789
Reverter um número usando loop for
No programa a seguir, substituímos o loop while por um loop for. Também remove o último dígito do número, após cada iteração. Quando a condição, número!=0 torna-se falso, o loop termina e obtemos o número invertido.
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); } }
Saída
The reverse of the given number is: 654321
No programa acima, também podemos escrever o loop for da seguinte forma:
for(;number != 0;) { int remainder = number % 10; reverse = reverse * 10 + remainder; number=number/10; }
Reverter um número usando recursão
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)>
Saída 2:
Enter the number that you want to reverse: 7654123 The reverse of the given number is: 3214567
O programa a seguir inverte ambos os números, positivos e negativos. Quando inserimos um número, primeiro verifica se o número é positivo ou negativo. Se o número for negativo, ele converte o número em positivo multiplicando -1. Depois disso, ele executa os mesmos passos (como realizamos nos programas acima) para reverter um número. Por fim, verifica novamente se o número é negativo ou positivo. Para tornar o número negativo, ele multiplica novamente o número reverso por -1.
calculando a posse no excel
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; } }
Saída 1:
Enter the number that you want to reverse: -98765 The reverse of the given number is: -56789
Saída 2:
Enter the number that you want to reverse: 321987 The reverse of the given number is: 789123
10)>