الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال متعلق بال Random

بدأه همس الربيع في 17 مايو 2009 · 7 رد · 1,140 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله و بركاته ،،

أنا عندي سؤال عن الـ Random ..

بعتبار الـ import java.util.Random; جزء من library classes,,

السؤال هو: ما هو عملها بالضبط ،، مثلاً :

randomGenerator = new Random();

شو راح يكون عمل الـ randomGenerator

و بشو تستخدم ؟؟؟

وشكراً

519408765.gif519408765.gif519408765.gif

واثـــق الخطـــا يمشــي ملكآ

#2

الدالة random تعطي رقم عشري عشوائي بين صفر و واحد مثلا 0.654 أو 0.567 و هكذا

يمكن استخدامها مع الضرب مثلا لو ضربت في عشرة ستتحرك الفاصلة على اليمين خانة وهكذا نحصل على رقم عشوائي بين صفر الى 9 ولو ضربنا في 100 نحصل على رقم بين صفر و 99

 
int  num = (int ) (Math.Random() * 100);  
سوينا cast  علشان الرقم اللي راح يظهر راح يكون عشري مع خانتين صحيح فهيك اكتفينا بالجزء العشر 
ولو اردنا ان يكون الرقم العشوائي بين 1 و مئة بنزود واحد 
int num = (int) (Math.Random() * 100 + 1 );
#3

السلام عليكــم ورحمـة الله وبركاتــه ،،

أظن أن الكلام عن الكلاس Random وليس الدالة random الخاصة بالكلاس Math

الكلاس Random تحتوي على عدة دوال

nextDouble()

nextFloat()

nextLong()

nextInt()

كل هذه الدوال تعيد لك قيمة عشوائية حسب نوع الدالة، وليس مثل Math.random التي تعيد قيمة بين 0 و 1

nextInt(int x)

هذه الدالة تمكنك من تحديد الرقم الذي لا يجب تخطيه عند اختيار عدد عشوائي. مثلا nextInt(10) ستعيد رقما بين 0 و 9

مثال



public class TestRandom {
public static void main(String[] args) {
Random rd = new Random();
System.out.println("A random double: " + rd.nextDouble());
System.out.println("A random float: " + rd.nextFloat());
System.out.println("A random long: " + rd.nextLong());
System.out.println("A random int: " + rd.nextInt());
System.out.println("A random int between 0 & 20 : " + rd.nextInt(21));
System.out.println("A random boolean: " + rd.nextBoolean());
}
}
import java.util.Random;

ويبقى أحسن مكان لمعرفة تفاصيل كلاس ما هو توثيق Sun

http://java.sun.com/javase/6/docs/api/java/util/Random.html

تم تعديل هذه المشاركة بواسطة herch في 17 مايو 2009 في 14:43

#4

هذه الأشياء لا أحد يمكنه أن يفيدك فيها إلا من لديه معرفة جيدة بالإحصاء

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5

السلام عليكم و رحمة الله و بركاته ،،

فعلا الكلام عن الكلاس Random ،، و لكن شكراً على الشرح شجرة زيتون ..

مما فهمته أنه لا يمكن أن نستدعي رقم عشوائي محصور بين رقمين احدهما ليس صفراً ،، لأنا نقوم بتحديد أقصى رقم فقط مثل رقم 21 الذي حدده الأخ herch في المثال المطروح ،،

على العموم فهمت عمل الكلاس جيداً ،، و جاري التطبيق إن شاء الله ..

جزيتم خيراً إن شاء الله جميعاً .

519408765.gif519408765.gif519408765.gif

واثـــق الخطـــا يمشــي ملكآ

#6

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

INTIALNUMBER+(int ) (Math.Random() * (LASTNUMBER-INTIALNUMBER));

حيث INTIALNUMBER هو الرقم الذي تريدي أن لا يكون الرقم العشوائي أصغر منه

و LASTNUMBER هو الرقم الذي تريدي أن لا يكون الرقم العشوائي أكبر منه

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#7

اختي الراندوم اللي عمبتحكي عنو هو كمان لتوليد الارقام العشوائية و هاد اصدار نزل مع جافا 5

System.out.println("A random double: " + rd.nextDouble());

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

و هكذا

اما ال

 rd.nextInt(21)

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

و لكن من الصفر للعشرين

اما اذا اردتي ان تولدي ارقام عشوائية من الواحد حتى العشرين اكتبي

rd.nextInt(20)+1

تم تعديل هذه المشاركة بواسطة mofeed chaar في 19 مايو 2009 في 14:12

mofeedchaar@hotmail.com

#8

:ty:

519408765.gif519408765.gif519408765.gif

واثـــق الخطـــا يمشــي ملكآ

مواضيع مشابهة