I det här avsnittet kommer vi att lära oss hur man vänder ett nummer i Java använder sig av medan loop , för slinga och rekursion .
För att vända ett nummer, följ stegen nedan:
- Först hittar vi resten av det givna talet genom att använda operatorn modulo (%).
- Multiplicera variabeln omvänd med 10 och lägg till resten i den.
- Dividera talet med 10.
Upprepa stegen ovan tills siffran blir 0.
typskrift för varje slinga
Det finns tre sätt att vända ett nummer Java :
- Vänd ett nummer med while-slingan
- Vänd ett nummer med för loop
- Vänd ett tal med hjälp av rekursion
Låt oss tillämpa ovanstående steg i ett exempel.
Exempel
Anta att vi vill vända på talet 1234.
I det här exemplet har vi tagit tre variabler namngivna siffra (numret som ska vändas), återstoden (lagrar resten), omvänd (lagrar det omvända numret) initialiserad 0.
Iteration 1:
hur man öppnar en fil i javanummer = 1234
återstoden = 1234 % 10 = 4
omvänd = 0 * 10 + 4 = 0 + 4 = 4
nummer = 1234 / 10 = 123
Nu är värdet på talet och den omvända variabeln 123 respektive 4.
Iteration 2:
nummer = 123återstoden = 123 % 10 = 3
omvänd = 4 * 10 + 3 = 40 + 3 = 43
nummer = 123 / 10 = 12
Nu är värdet på talet och den omvända variabeln 12 respektive 43.
Iteration 3:
nummer = 12återstoden = 12 % 10 = 2
omvänd = 43 * 10 + 2 = 430 + 2 = 432
nummer = 12 / 10 = 1
Nu är värdet på talet och den omvända variabeln 1 respektive 432.
Iteration 4:
nummer = 1återstoden = 1 % 10 = 1
omvänd = 432 * 10 + 1 = 4320 + 1 = 4321
nummer = 1 / 10 = 0
Nu blir variabeltalet 0. Därför får vi det omvända talet 4321 .
sql beställ efter datum
Låt oss implementera ovanstående logik i en Java-program .
Vänd ett nummer med while-slingan
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); } }
Produktion
The reverse of the given number is: 456789
Vänd ett nummer med för loop
I följande program har vi ersatt while-loopen med en for-loop. Den tar också bort den sista siffran i numret, efter varje iteration. När tillståndet, nummer!=0 blir falsk, slingan går ut och vi får det omvända talet.
ReverseNumberExample2.java
sträng konvertera till int i 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); } }
Produktion
The reverse of the given number is: 654321
I programmet ovan kan vi också skriva for-slingan enligt följande:
for(;number != 0;) { int remainder = number % 10; reverse = reverse * 10 + remainder; number=number/10; }
Vänd ett tal med hjälp av rekursion
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)>
Utgång 2:
Enter the number that you want to reverse: 7654123 The reverse of the given number is: 3214567
Följande program vänder både siffror, positiva och negativa. När vi anger en siffra kontrollerar den först att siffran är positiv eller negativ. Om talet är negativt omvandlar det talet till positivt genom att multiplicera -1. Efter det utför den samma steg (som vi har utfört i ovanstående program) för att vända ett nummer. Äntligen kontrollerar den igen att siffran är negativ eller positiv. För att göra talet negativt multiplicerar det återigen det omvända talet med -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; } }
Utgång 1:
Enter the number that you want to reverse: -98765 The reverse of the given number is: -56789
Utgång 2:
Enter the number that you want to reverse: 321987 The reverse of the given number is: 789123
10)>