السلام عليكم
بداية قبل ما تقرأو الموضوع ادعولى لانى عندى امتحان
فى المادة دى
و انا بحب اذاكر و اذاكر للحواليه :wub:
ندخل فى الجد::::::
ماذا لو كنت محتاج فى برنامج ارقام يجب ان تكون متغيرة عن كل مرة ينفذ فيها البرنامج
و ان هذة الارقام يجب ان تكون غير متسلسة و لا تصاعديا و لا تنازليا او حتى نسبيا
الجافا توفر لك طريقتين لانتاج ارقام عشوائية
هيا نتعرف على الطريقة الاولى و هى:::::::
دالة static نحصل عليها عن طريق الفئة class الذى يدعى Math
طبعا كلنا نعرف ان اى دالة static ننادية عن طريق اسم ال class فقط اى
لا نحتاج الى ان نأخذ كائن او object من هذا الclass
و تستخدم هكذا
double random=Math.random();
و لاحظ ان هذة الطريقة تنتج لنا ارقام كسرية double و تكون من 0الى 1 و تشمل الصفر و لا تشمل الواحد
لاحظ انه بعد مناداة هذة الدالة تنتج لك الرقم فأنت تحتاج فقط الى متغير لتضع فيه هذا الرقم و تستخدمه مثلما تريد
طيب اممممممم
ماذا لو نريد توليد ارقام اكبر من هذا المدىrange
يبقى الحل هو استخدام الطريقة التى سنلقى عليها نظرة الان:::::
هى استخدام الفئة Random
نقوم بأخذ كائن من هذة الفئة و من ثم نستطيع استخدام بعض الدوال المختلفة التى تتيح لنا اختيارات عدة
Random r = new Random();
و ها هى بعض الدوال مع شرح وظيفتها
int integerNum = r.nextInt( n);//حيث n هو المدى الذى تقوم الدالة بتوليد ارقام عشوائة من الصفر حتى هذا الرقم
int doubleNum = r.nextDouble( n);//حيث n هو المدى الذى تقوم الدالة بتوليد ارقام عشوائة من الصفر حتى هذا الرقم
int intNumber = r.nextInt();//هنا ان لم تحدد الرقم ستقوم الدالة بتوليد ارقام فى المجال الكامل الذى يغطيه النوع int
boolean boolFlage = r.nextBoolean() تقوم هذة الدالة بارجاع true or false بطريقة عشوائية
هيا نرى مثال على ذلك:::::
import java.util.Random;
public class RandomInteger {
public static void main(String[] args){
Random randomGenerator = new Random();
for (int i = 1; i <= 10; i++){
int randomInt = randomGenerator.nextInt(100);
System.out.println(randomInt);
}
}
}فى هذا المثال كل مرة ينفذ فيها البرنامج سيخرج لك ارقام مختلفة
و لاحظ ان ال range الذى تحدده الدالة تقوم بتوليد من الصفر حتى هذا المجال الذى حددته انت مطروح منه واحد
فقط :wub:





