בחלק זה נלמד כיצד להפוך מספר ב-Java באמצעות בעוד לולאה , עבור לולאה ו רקורסיה .
כדי להפוך מספר, בצע את השלבים המפורטים להלן:
- ראשית, אנו מוצאים את שארית המספר הנתון באמצעות האופרטור מודולו (%).
- הכפלו את המשתנה ההפוך ב-10 והוסיפו את השאר לתוכו.
- מחלקים את המספר ב-10.
חזור על השלבים לעיל עד שהמספר יהפוך ל-0.
פקודת chown
יש שְׁלוֹשָׁה דרכים להפוך מספר Java :
- הפוך מספר באמצעות לולאת while
- הפוך מספר באמצעות for loop
- הפוך מספר באמצעות רקורסיה
בואו ליישם את השלבים לעיל בדוגמה.
דוגמא
נניח שאנו רוצים להפוך את המספר 1234.
בדוגמה זו, לקחנו שלושה משתנים בשם מספר (המספר שיש להפוך), היתרה (מאחסן את השאר), לַהֲפוֹך (מאחסן את המספר ההפוך) אתחול 0.
איטרציה 1:
שרשרת מחרוזתמספר = 1234
השאר = 1234 % 10 = 4
הפוך = 0 * 10 + 4 = 0 + 4 = 4
מספר = 1234 / 10 = 123
כעת הערך של המספר והמשתנה ההפוך הוא 123 ו-4, בהתאמה.
איטרציה 2:
מספר = 123השאר = 123% 10 = 3
הפוך = 4 * 10 + 3 = 40 + 3 = 43
מספר = 123 / 10 = 12
כעת הערך של המספר והמשתנה ההפוך הוא 12 ו-43, בהתאמה.
איטרציה 3:
מספר = 12השאר = 12% 10 = 2
הפוך = 43 * 10 + 2 = 430 + 2 = 432
מספר = 12 / 10 = 1
כעת הערך של המספר והמשתנה ההפוך הוא 1 ו-432, בהתאמה.
איטרציה 4:
מספר = 1שארית = 1% 10 = 1
הפוך = 432 * 10 + 1 = 4320 + 1 = 4321
מספר = 1 / 10 = 0
כעת המספר המשתנה הופך ל-0. לפיכך, אנו מקבלים את המספר ההפוך 4321 .
גבול css
בואו ליישם את ההיגיון לעיל ב-a תוכנית Java .
הפוך מספר באמצעות לולאת 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); } }
תְפוּקָה
The reverse of the given number is: 456789
הפוך מספר באמצעות for loop
בתוכנית הבאה, החלפנו את לולאת while בלולאת for. זה גם מסיר את הספרה האחרונה של המספר, לאחר כל איטרציה. כאשר התנאי, מספר!=0 הופך לא נכון, הלולאה יוצאת ואנו מקבלים את המספר ההפוך.
ReverseNumberExample2.java
הפקודה העליונה של unix
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); } }
תְפוּקָה
The reverse of the given number is: 654321
בתוכנית לעיל, נוכל גם לכתוב את לולאת for באופן הבא:
for(;number != 0;) { int remainder = number % 10; reverse = reverse * 10 + remainder; number=number/10; }
הפוך מספר באמצעות רקורסיה
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)>
פלט 2:
Enter the number that you want to reverse: 7654123 The reverse of the given number is: 3214567
התוכנית הבאה הופכת את שני המספרים, חיוביים ושליליים. כאשר אנו מכניסים מספר, הוא בודק תחילה שהמספר חיובי או שלילי. אם המספר שלילי, הוא ממיר את המספר לחיובי על ידי הכפלת -1. לאחר מכן, הוא מבצע את אותם השלבים (כפי שביצענו בתוכניות לעיל) כדי להפוך מספר. לבסוף, שוב הוא בודק שהמספר שלילי או חיובי. כדי להפוך את המספר לשלילי, הוא מכפיל שוב את המספר ההפוך ב-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; } }
פלט 1:
Enter the number that you want to reverse: -98765 The reverse of the given number is: -56789
פלט 2:
Enter the number that you want to reverse: 321987 The reverse of the given number is: 789123
10)>