في هذا القسم سوف نتعلم كيفية عكس رقم في جافا استخدام حائط اللوب , لحلقة و العودية .
لعكس رقم، اتبع الخطوات الواردة أدناه:
- أولاً، نقوم بإيجاد باقي الرقم المحدد باستخدام عامل التشغيل modulo (%).
- اضرب المتغير العكسي في 10 وأضف الباقي إليه.
- اقسم الرقم على 10.
كرر الخطوات السابقة حتى يصبح الرقم 0.
هم مغنون
هناك ثلاثة طرق لعكس رقم في جافا :
- عكس رقم باستخدام حلقة while
- عكس رقم باستخدام الحلقة
- عكس رقم باستخدام العودية
دعونا نطبق الخطوات المذكورة أعلاه في مثال.
مثال
لنفترض أننا نريد عكس الرقم 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 .
دعونا ننفذ المنطق أعلاه في برنامج جافا .
عكس رقم باستخدام حلقة 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); } }
انتاج |
xor ج++
The reverse of the given number is: 456789
عكس رقم باستخدام الحلقة
في البرنامج التالي، قمنا باستبدال حلقة while بحلقة for. كما أنه يزيل الرقم الأخير من الرقم، بعد كل تكرار. عندما يكون الشرط، رقم!=0 يصبح خطأ، وتخرج الحلقة ونحصل على الرقم المعكوس.
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); } }
انتاج |
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)>