وين السؤال ؟؟
اذا اردت عمل ارقام عشوائية استخدم
Math.random();
او جرب الكلاس Random
r.nextInt();
Random r=new Random();
وين السؤال ؟؟
اذا اردت عمل ارقام عشوائية استخدم
Math.random();
او جرب الكلاس Random
Random r=new Random();
منقطع من حين لاخر
بامكانك كمان تحديد الارقام اذا كانت انت مثلا بالتالي يعطي اعداد عشوائية بين 0 و 10
int random = (int)(10*Math.random());
اقتباسوين السؤال ؟؟
العنوان هو السؤال :)
لست متواجد بشكل يومي
ماذا لو اردنا ارقام عشوائية بين 2 الى 10؟؟
((int)(10*Math.random()))+2
اقتباسلعنوان هو السؤال :)
المشكلة المنتدى حسب اول مشاركة هي السؤال و الباقي ردود
منقطع من حين لاخر
جميل جدا مساعدتكم اخوانى
ولكن هل الدالة لا تبطع كسور عشرية تلقائيا من نفسها ام هناك امر لمنعها من طبع ذالك
وما هو الكلاس الخاص بها هل هو math
وعلشان اعرف الدالة فى الشغل محتاج اعمل import لايه
مع جزيل الشكر مقدما
اقتباسولكن هل الدالة لا تبطع كسور عشرية تلقائيا من نفسها ام هناك امر لمنعها من طبع ذالك
الدالة تولد ارقام كسرية ولكن استخدمنا Cast الى Int لكي نحصل على ارقام صحيحة
اقتباسوما هو الكلاس الخاص بها هل هو math
نعم
اقتباسوعلشان اعرف الدالة فى الشغل محتاج اعمل import لاي
هي موجودة ضمن الحزمة lang لذلك لا تحتاج الى import
منقطع من حين لاخر
شكرا جدا اخى أبو الفؤاد على المساعدة وعلى الاهتمام
تسلم ايديك اخى وجعله الله فى ميزان حسناتك
وجارى التدريب على الكود
الآن أواجه مشكلة مع الكود
أريد عندما أضغط على الزر يطبع لى على التكست فيلد قيمة عشوائية بين ال 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-الخطأ الرابع هو كيف أطبع هذه الأرقام العشوائية على التكست فيلد حيث فى الكونستراكتور الخاص بالتكتس فيلد لا يتم تمرير أرقام الذى يمرر فقط هو الاسترنج
أتمنى أن أجد منكم مساعدة حيث أننى حاولت وبحثت كتيرا جدا ولم أستطح حل المشكلة
وبانتظار مساعدتكم بإذن الله
وبانتظار مساعدتكم بإذن الله
الخطا في استخدامك للعلامة % و التي تعني باقي القسمة
الحل ان
int random= ((int)(100*Math.random()))+50;
txt3.setText(random+"%");
اصبحت الان string
منقطع من حين لاخر
جزاك الله خيرا اخى أبو الفؤاد على الاهتمام وان شاء الله فى ميزان حسناتك يرب ويدخلك فسيح جناته استاذى الفاضل
الكود اشتغل تمام
وللتوضيح لمن ليس لديه معلومات عن الدالة ان فى هذه الحالة المذكورة سيتم طبع قيمة عشوائية من 0 الى 100 ثم اسناد قيمة عشوائية اخرى لها من 0-50 او هكذا ظهر معى عندما نفذت البرنامج
اى انه قد تجيد القيمة تحت ال 100 مثلا 87 ففى هذه الحالة عند عشوئة ال 50 كانت القيمة بصفر تضاف الى عشوئة ال 100 والتى هى 87
وقد نجد القيمة 150 ففى هذه الحالة عشوئة ال 100 ب 100 وعشوئة ال 50 ب 50
هذا فقط للتوضيح لمن ليس لديه معلومات عن الدالة
مع جزيل الشكر مرة ثانية لاستاذى ابو الفؤاد
الآن مشكلة جديدة مع الدالة
قمت بتخليق اكثر من رسالة لتظهر على التكست فيلد
وأريد أن تختار الدالة رسالة عشوائية منهم لتطبعها
String rndom= (Math.random());
String msg1= ta.setText("xxxxxxxxxxxxxxx.");
String msg2= ta.setText("yyyyyyyyyyyyyyyyyy.");
String msg3=ta.setText("zzzzzzzzzzzzzzzzzzzzz.");فيظهر لى رسالة خطأ فى كل هذه الاسطر هى
incompaitable types
فما الحل مع هذه المشكلة؟
ta.setText("yyyyyyyyyyyyyyyyyy.");هذا setText الاسلوب void ???
String rndom= (Math.random());
هذا خطا int !=String
لست متواجد بشكل يومي
يعنى هل تقصد اخى
int rndom= (Math.random());
void msg1= ta.setText("xxxxxxxxxxxxxxxxx");
void msg2= ta.setText("yyyyyyyyyyyyyyyyyy");
void msg3=ta.setText("zzzzzzzzzzzzzzzzzz");لاننى لما عملت كده اعطانى فى كل سطر
illegal start of expression
بانتظار المساعدة
اعذرني
يبدوا انك مبتدا جدا
عموما الحل انك تعرف الـ String في مصفوفة من 3 عناصر
ثم تستخدم الـ random لايجاد رقم من 1 الى 3
ارجوا ان اكون افدتك
منقطع من حين لاخر
اخى أبو الفؤاد فعلا أنا مبتدء جدا وهذا ثانى أسبوع لى مع الجافا ومعلوماتى قليلة جدا
أنا آسف جدا جدا على المشاركات التافهه وعلى اضاعة وقت حضرتكم القيم
وأقترح ان يكون هناك قسم للمبتدئين أمثالى نطرح فيه أسئلتنا المتواضعة بدون خجل
وقد فعلت تماما مثلما قلت
قمت بتخليق مصفوفة ووضعت فيها الجمل التى أود طباعتها
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
الحمد لله عرفت اظبط الكود
ta.setText( msg[((int)( msg.length*Math.random()))] );
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…