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

اطلب معلومات بخصوص الدالة التى تطبع قيمة عشوائية randomization

مغلق
بدأه ابو الفؤاد في 19 أكتوبر 2006 · 17 رد · 1,666 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

وين السؤال ؟؟

اذا اردت عمل ارقام عشوائية استخدم

Math.random();

او جرب الكلاس Random


r.nextInt();
Random r=new Random();

منقطع من حين لاخر

#2

بامكانك كمان تحديد الارقام اذا كانت انت مثلا بالتالي يعطي اعداد عشوائية بين 0 و 10

int random = (int)(10*Math.random());

اقتباس
وين السؤال ؟؟

العنوان هو السؤال :)

لست متواجد بشكل يومي

#3

ماذا لو اردنا ارقام عشوائية بين 2 الى 10؟؟

  ((int)(10*Math.random()))+2

اقتباس
لعنوان هو السؤال :)

المشكلة المنتدى حسب اول مشاركة هي السؤال و الباقي ردود

منقطع من حين لاخر

#4

جميل جدا مساعدتكم اخوانى

ولكن هل الدالة لا تبطع كسور عشرية تلقائيا من نفسها ام هناك امر لمنعها من طبع ذالك

وما هو الكلاس الخاص بها هل هو math

وعلشان اعرف الدالة فى الشغل محتاج اعمل import لايه

مع جزيل الشكر مقدما

#5
اقتباس
ولكن هل الدالة لا تبطع كسور عشرية تلقائيا من نفسها ام هناك امر لمنعها من طبع ذالك

الدالة تولد ارقام كسرية ولكن استخدمنا Cast الى Int لكي نحصل على ارقام صحيحة

اقتباس
وما هو الكلاس الخاص بها هل هو math

نعم

اقتباس
وعلشان اعرف الدالة فى الشغل محتاج اعمل import لاي

هي موجودة ضمن الحزمة lang لذلك لا تحتاج الى import

منقطع من حين لاخر

#6

شكرا جدا اخى أبو الفؤاد على المساعدة وعلى الاهتمام

تسلم ايديك اخى وجعله الله فى ميزان حسناتك

وجارى التدريب على الكود

#7

الآن أواجه مشكلة مع الكود

أريد عندما أضغط على الزر يطبع لى على التكست فيلد قيمة عشوائية بين ال 50% و ال 100%

وهذا هو الكود:

class MyEvent implements ActionListener
		 {
		 	public void actionPerformed(ActionEvent e)
		 	{

			if (e.getActionCommand().equals("Result"))
				{


int random= ((int)(100%*Math.random()))+50%;
txt3.setText();


			   	}

1-المشكلة الأولى تظهر لى رسالة illegal start of expression

فى هذا السطر

int random= ((int)(100%*Math.random()))+50%;

مع اننى قمت بعملية العشوائية ثم اضع الناتج فى متغير من النوع انتجر فما المشكلة

2-الخطأ الثانى فى نفس الكود ')' expected

اى اننى نسيت قوس

مع العلم قوس الاول المفتوح للعملية كلها كلها والثانى للكاستنج والثالث للدالة والرابع المتغيرات التى تمرر للدالة

3-الخطأ الرابع هو كيف أطبع هذه الأرقام العشوائية على التكست فيلد حيث فى الكونستراكتور الخاص بالتكتس فيلد لا يتم تمرير أرقام الذى يمرر فقط هو الاسترنج

أتمنى أن أجد منكم مساعدة حيث أننى حاولت وبحثت كتيرا جدا ولم أستطح حل المشكلة

#8

وبانتظار مساعدتكم بإذن الله

#9

وبانتظار مساعدتكم بإذن الله

#10

الخطا في استخدامك للعلامة % و التي تعني باقي القسمة

الحل ان

int random= ((int)(100*Math.random()))+50;

txt3.setText(random+"%");

اصبحت الان string

منقطع من حين لاخر

#11

جزاك الله خيرا اخى أبو الفؤاد على الاهتمام وان شاء الله فى ميزان حسناتك يرب ويدخلك فسيح جناته استاذى الفاضل

الكود اشتغل تمام

وللتوضيح لمن ليس لديه معلومات عن الدالة ان فى هذه الحالة المذكورة سيتم طبع قيمة عشوائية من 0 الى 100 ثم اسناد قيمة عشوائية اخرى لها من 0-50 او هكذا ظهر معى عندما نفذت البرنامج

اى انه قد تجيد القيمة تحت ال 100 مثلا 87 ففى هذه الحالة عند عشوئة ال 50 كانت القيمة بصفر تضاف الى عشوئة ال 100 والتى هى 87

وقد نجد القيمة 150 ففى هذه الحالة عشوئة ال 100 ب 100 وعشوئة ال 50 ب 50

هذا فقط للتوضيح لمن ليس لديه معلومات عن الدالة

مع جزيل الشكر مرة ثانية لاستاذى ابو الفؤاد

#12

الآن مشكلة جديدة مع الدالة

قمت بتخليق اكثر من رسالة لتظهر على التكست فيلد

وأريد أن تختار الدالة رسالة عشوائية منهم لتطبعها

String rndom= (Math.random());


String msg1= ta.setText("xxxxxxxxxxxxxxx.");

 String msg2= ta.setText("yyyyyyyyyyyyyyyyyy.");

   String msg3=ta.setText("zzzzzzzzzzzzzzzzzzzzz.");

فيظهر لى رسالة خطأ فى كل هذه الاسطر هى

incompaitable types

فما الحل مع هذه المشكلة؟

#13
ta.setText("yyyyyyyyyyyyyyyyyy.");

هذا setText الاسلوب void ???

String rndom= (Math.random());

هذا خطا int !=String

لست متواجد بشكل يومي

#14

يعنى هل تقصد اخى

int rndom= (Math.random());


void msg1= ta.setText("xxxxxxxxxxxxxxxxx");

 void msg2= ta.setText("yyyyyyyyyyyyyyyyyy");

   void msg3=ta.setText("zzzzzzzzzzzzzzzzzz");

لاننى لما عملت كده اعطانى فى كل سطر

illegal start of expression

#15

بانتظار المساعدة

#16

اعذرني

يبدوا انك مبتدا جدا

عموما الحل انك تعرف الـ String في مصفوفة من 3 عناصر

ثم تستخدم الـ random لايجاد رقم من 1 الى 3

ارجوا ان اكون افدتك

منقطع من حين لاخر

#17

اخى أبو الفؤاد فعلا أنا مبتدء جدا وهذا ثانى أسبوع لى مع الجافا ومعلوماتى قليلة جدا

أنا آسف جدا جدا على المشاركات التافهه وعلى اضاعة وقت حضرتكم القيم

وأقترح ان يكون هناك قسم للمبتدئين أمثالى نطرح فيه أسئلتنا المتواضعة بدون خجل

وقد فعلت تماما مثلما قلت

قمت بتخليق مصفوفة ووضعت فيها الجمل التى أود طباعتها

String  msg[ ]={"xxx,yyyy,zzzz"};   

  int rndom= ((int)(  msg [3]*Math.random()))+ 1;   

	ta.setText(rndom+"  ");

وكان الخطأ هنا

int rndom= ((int)(  msg [3]*Math.random()))+ 1;

operator * cannot be applied to java.lang.string,double

حيث أننى لما كتبت الكود

 int rndom= ((int)( 3*Math.random()))+ 1;

فانه يطبع لى رقم وليس جملة من الجمل التى أدخلتها فى الاسترنج

فكيف أصحح كود الدالة بحيث يطبع لى جمل من المصفوفة وليس أرقام

آسف جدا جدا للمرة الثانية على الازعاج وعلى المشاركات التافهه المتواضعة

ولكن كما ذكرت هذا ثانى أسبوع لى مع الجافا

مع جزيل الشكر مقدما

تم تعديل هذه المشاركة بواسطة microsmart1 في 11 نوفمبر 2006 في 21:05

#18

الحمد لله عرفت اظبط الكود

ta.setText(  msg[((int)( msg.length*Math.random()))]	);

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…