V tejto časti sa naučíme ako obrátiť číslo v Jave použitím pričom slučka , pre slučku a rekurzia .
Ak chcete zmeniť číslo, postupujte podľa nasledujúcich krokov:
- Najprv nájdeme zvyšok daného čísla pomocou operátora modulo (%).
- Vynásobte premennú reverz 10 a pridajte do nej zvyšok.
- Vydeľte číslo 10.
Opakujte vyššie uvedené kroky, kým sa číslo nestane 0.
polymorfizmus java
Existujú tri spôsoby, ako obrátiť číslo Java :
- Obráťte číslo pomocou cyklu while
- Obráťte číslo pomocou cyklu for
- Obráťte číslo pomocou rekurzie
Aplikujme vyššie uvedené kroky na príklade.
Príklad
Predpokladajme, že chceme obrátiť číslo 1234.
V tomto príklade sme vzali tri pomenované premenné číslo (číslo sa má obrátiť), zvyšok (uloží zvyšok), obrátene (uloží opačné číslo) inicializované 0.
Iterácia 1:
char na reťazec v jazyku Javačíslo = 1234
zvyšok = 1234 % 10 = 4
obrátene = 0 * 10 + 4 = 0 + 4 = 4
číslo = 1234 / 10 = 123
Teraz je hodnota čísla a reverznej premennej 123 a 4.
Iterácia 2:
číslo = 123zvyšok = 123 % 10 = 3
obrátene = 4 * 10 + 3 = 40 + 3 = 43
číslo = 123 / 10 = 12
Teraz je hodnota čísla a reverznej premennej 12 a 43.
Iterácia 3:
číslo = 12zvyšok = 12 % 10 = 2
obrátene = 43 * 10 + 2 = 430 + 2 = 432
číslo = 12/10 = 1
Teraz je hodnota čísla a reverznej premennej 1 a 432.
Iterácia 4:
číslo = 1zvyšok = 1 % 10 = 1
spätný chod = 432 * 10 + 1 = 4320 + 1 = 4321
číslo = 1/10 = 0
Teraz sa premenné číslo stane 0. Preto dostaneme opačné číslo 4321 .
Implementujme vyššie uvedenú logiku v a Java program .
Obráťte číslo pomocou cyklu 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); } }
Výkon
The reverse of the given number is: 456789
Obráťte číslo pomocou cyklu for
V nasledujúcom programe sme nahradili cyklus while cyklom for. Po každej iterácii tiež odstráni poslednú číslicu čísla. Keď je podmienka, číslo!=0 sa stane nepravdivým, slučka vystúpi a dostaneme obrátené číslo.
1 milión v číslach
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); } }
Výkon
The reverse of the given number is: 654321
Vo vyššie uvedenom programe môžeme tiež napísať cyklus for takto:
for(;number != 0;) { int remainder = number % 10; reverse = reverse * 10 + remainder; number=number/10; }
Obráťte číslo pomocou rekurzie
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)>
Výstup 2:
konverzia reťazca na int v jazyku Java
Enter the number that you want to reverse: 7654123 The reverse of the given number is: 3214567
Nasledujúci program obráti obe čísla, kladné aj záporné. Keď zadáme číslo, najprv skontroluje, či je číslo kladné alebo záporné. Ak je číslo záporné, premení ho na kladné vynásobením -1. Potom vykoná rovnaké kroky (ako sme vykonali vo vyššie uvedených programoch), aby obrátil číslo. Nakoniec znova skontroluje, či je číslo záporné alebo kladné. Aby bolo číslo záporné, opäť vynásobí opačné číslo -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; } }
Výstup 1:
Enter the number that you want to reverse: -98765 The reverse of the given number is: -56789
Výstup 2:
Enter the number that you want to reverse: 321987 The reverse of the given number is: 789123
10)>