ساعدوني كيف اقوم بي معرفة خانات العدد في لغة الجافا
هل امثل الاعداد في مصفوفة ام قائمة
يوجد أكثر من طريقة لذلك، يمكننا استخدام النمط integer ببساطة، حيث نقوم بتوليد خانة ما بشكل عشوائي و مكونة من رقم واحد، ثم نقوم بتجيمع الأرقام لتمثيل عدد بعمل إزاحة حسابية أي نضرب العدد ب 10 ثم نجمع رقم آحاد
x = 123 x *= 10 x =? 1230 y = randome() % 10 // 0-9 // y = 7 x += y x =? 1237
لنفرض نريد عدد من 5 خانات، نكرر هذا المنطق في حلقة while مثلاً
import java.util.Random; Random rand = new Random(); // مثال لعدد بين [0 - 49]. int n = rand.nextInt(50); //***************************** int counter = 5; int x = 0; int y; while (counter -- > 0) { y = rand.nextInt(10); // 0-9 x = x * 10 + y; } System.out.println(x); // عدد عشوائي من 5 خانات
ملاحظة: حتى لا نحصل على قيمة 0 في الخانة اليسرى ( أي يصبح العدد ليس 5 خانات) يمكن تنفيذ منطق بسيط لضمان أن أول خانة ليس 0 بتشكيل رقم عشوائي بين 1-9 بدل 0-9
int counter = 4; int x = 0; int y = rand.nextInt(9); // 0-8 y = y + 1; // => 1-9 x = x * 10 + y; // يبقى 4 تكرارات للخانات الباقية حيث حسبنا أول خانة خارج الحلقة while (counter -- > 0) { y = rand.nextInt(10); // 0-9 x = x * 10 + y; } System.out.println(x); // عدد عشوائي من 5 خانات
التعليقات