توليد ارقام عشوائيه لعدد من خانات معينه

ساعدوني كيف اقوم بي معرفة خانات العدد في لغة الجافا 

هل امثل الاعداد في مصفوفة ام قائمة

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

يوجد أكثر من طريقة لذلك، يمكننا استخدام النمط 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 خانات