الجديد

توليد أرقام عشوائية فريدة من نوعها

توليد أرقام عشوائية فريدة من نوعها

عندما تنشئ أرقامًا عشوائية ، فغالبًا ما يكون كل رقم رقم تم إنشاؤه فريدًا. مثال جيد هو اختيار أرقام اليانصيب. يجب أن يكون كل رقم يتم انتقاؤه عشوائيًا من نطاق (على سبيل المثال ، من 1 إلى 40) فريدًا ، وإلا فإن سحب اليانصيب سيكون غير صالح.

باستخدام مجموعة

أسهل طريقة لاختيار الأرقام العشوائية الفريدة هي وضع نطاق الأرقام في مجموعة تسمى ArrayList. إذا لم تصادف قائمة ArrayList من قبل ، فهذه طريقة لتخزين مجموعة من العناصر التي ليس لها رقم ثابت. العناصر هي كائنات يمكن إضافتها أو إزالتها من القائمة. على سبيل المثال ، لنجعل منتقي أرقام اليانصيب. يجب اختيار أرقام فريدة من مجموعة من 1 إلى 40.

أولاً ، ضع الأرقام في ArrayList باستخدام طريقة add (). يتطلب الأمر إضافة الكائن كمعلمة:

استيراد java.util.ArrayList؛
اليانصيب من الدرجة العامة
ثابت الفراغ الرئيسي العام (سلسلة الحجج) {
/ / عرّف ArrayList للاحتفاظ بالكائنات الصحيحة
أرقام ArrayList = جديدة ArrayList () ؛
لـ (int i = 0 ؛ i <40 ؛ i ++)
{
numbers.add (ط + 1)؛
}
System.out.println (الأرقام)؛
}
}

لاحظ أننا نستخدم فئة مجمّع Integer لنوع العنصر بحيث يحتوي ArrayList على كائنات وليس أنواع بيانات بدائية.

يُظهر الإخراج نطاق الأرقام من 1 إلى 40 بالترتيب:

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40

باستخدام فئة المجموعات

تقدم فئة الأداة المساعدة والمسمى Collections إجراءات مختلفة يمكن تنفيذها على مجموعة مثل قائمة ArrayList (على سبيل المثال ، البحث عن العناصر ، والعثور على الحد الأقصى أو الأدنى من العنصر ، عكس ترتيب العناصر ، وما إلى ذلك). أحد الإجراءات التي يمكن القيام بها هو خلط العناصر. سينقل خلط الورق كل عنصر بشكل عشوائي إلى موضع مختلف في القائمة. يقوم بذلك باستخدام كائن عشوائي. هذا يعني أنها عشوائية حتمية ، لكنها ستفعل في معظم الحالات.

لتبديل قائمة ArrayList ، أضف مجموعات الاستيراد إلى أعلى البرنامج ، ثم استخدم الأسلوب Shuffle الثابت. يتطلب الأمر ArrayList أن يتم خلطها كمعلمة:

استيراد java.util.Collections ؛
استيراد java.util.ArrayList؛
اليانصيب من الدرجة العامة
ثابت الفراغ الرئيسي العام (سلسلة الحجج) {
/ / عرّف ArrayList للاحتفاظ بالكائنات الصحيحة
أرقام ArrayList = جديدة ArrayList () ؛
لـ (int i = 0 ؛ i <40 ؛ i ++)
{
numbers.add (ط + 1)؛
}
Collections.shuffle (الأرقام)؛
System.out.println (الأرقام)؛
}
}

الآن سيُظهر الإخراج العناصر الموجودة في قائمة ArrayList بترتيب عشوائي:

24, 30, 20, 15, 25, 1, 8, 7, 37, 16, 21, 2, 12, 22, 34, 33, 14, 38, 39, 18, 36, 28, 17, 4, 32, 13, 40, 35, 6, 5, 11, 31, 26, 27, 23, 29, 19, 10, 3, 9

اختيار الأرقام الفريدة

لاختيار الأرقام العشوائية الفريدة ، ما عليك سوى قراءة عناصر ArrayList واحدة تلو الأخرى باستخدام طريقة get (). يأخذ موضع العنصر في ArrayList كمعلمة. على سبيل المثال ، إذا كان برنامج اليانصيب يحتاج إلى اختيار ستة أرقام من النطاق من 1 إلى 40:

استيراد java.util.Collections ؛
استيراد java.util.ArrayList؛
اليانصيب من الدرجة العامة
ثابت الفراغ الرئيسي العام (سلسلة الحجج) {
/ / عرّف ArrayList للاحتفاظ بالكائنات الصحيحة
أرقام ArrayList = جديدة ArrayList () ؛
لـ (int i = 0 ؛ i <40 ؛ i ++)
{
numbers.add (ط + 1)؛
}
Collections.shuffle (الأرقام)؛
System.out.print ("أرقام اليانصيب لهذا الأسبوع هي:") ؛
لـ (int j = 0 ؛ j <6 ؛ j ++)
{
System.out.print (numbers.get (j) + "")؛
}
}
}

الإخراج هو:

أرقام اليانصيب لهذا الأسبوع هي: 6 38 7 36 1 18