النتائج 1 إلى 7 من 7
  1. #1

    برنامج جافا بسيط تطبيق و إضافة

    السلام عليكم

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

    قمت بتطبيق برنامج من كتاب Introduction.to.Java.Programming.Comprehensive.Ver sion.6th.Edition

    أول مرة كنت أنظر للمثال كثيرا ..
    هذه المرة كتبته بمفردى بعد أن تركت القراءة فى الكتاب و فى الجافا مدة تزيد عن أسبوعين..
    فكتبت و أضفت و تعبت من كتر التفكير ^_^ " البرمجة ديه متعبة "

    ده المثال فى الكتاب

    الأرقام موجودة فى الكتاب أنا أخذته كوبى من الكتاب

    كود:
     1 import javax.swing.JOptionPane;
     2
     3 public class SubtractionTutorLoop {
     4   public static void main(String[] args) {
     5   int correctCount = 0; // Count the number of correct answers
     6   int count = 0; // Count the number of questions
     7   long startTime = System.currentTimeMillis();
     8   String output = "";
     9
    10   while (count < 10) {
    11     // 1. Generate two random single-digit integers
    12     int number1 = (int)(Math.random() * 10);
    13     int number2 = (int)(Math.random() * 10);
    14
    15     // 2. If number1 < number2, swap number1 with number2
    16     if (number1 < number2) {
    17       int temp = number1;
    18       number1 = number2;
    19       number2 = temp;
    20     }
    21
    22     // 3. Prompt the student to answer "what is number1 – number2?"
    23     String answerString = JOptionPane.showInputDialog
    24       ("What is " + number1 + " - " + number2 + "?");
    25     int answer = Integer.parseInt(answerString);
    26
    27     // 4. Grade the answer and display the result
    28     String replyString;
    29     if (number1 - number2 == answer) {
    30       replyString = "You are correct!";
    31       correctCount++;
    32     }
    33     else
    34       replyString = "Your answer is wrong.\n" + number1 + " - "
    35         + number2 + " should be " + (number1 - number2);
    36       JOptionPane.showMessageDialog(null, replyString);
    37
    38       // Increase the count
    39       count++;
    40
    41       output += "\n" + number1 + "-" + number2 + "=" + answerString +
    42         ((number1 - number2 == answer) ? " correct" : " wrong");
    43     }
    44
    45     long endTime = System.currentTimeMillis();
    46     long testTime = endTime - startTime;
    47
    48     JOptionPane.showMessageDialog(null,
    49       "Correct count is " + correctCount + "\nTest time is " +
    50       testTime / 1000 + " seconds\n" + output);
    51   }
    52 }
    http://www.copypastecode.com/9205/


    لو وضعت فيه حروف يفشل أو لو تركت الخانة فارغة يفشل أيضا
    بعد الأستفسار عرفت دالة String.matches و إستخدمتها و جعلت البريمج يطلب عدد المرات المطلوب حسابها

    و الكود الجديد هنا بشكل منسق

    MathTest | Copy Paste Code

    رابط البريمج
    http://ibnyassen.googlepages.com/MathTest.zip

    طبعا لازم تكون مركب على الجهاز

    java runtime environment

    Download Free Java Software - Sun Microsystems

    http://www.java.com/en/download/index.jsp
  2. #2
    الصورة الرمزية د. وسام محمد
    د. وسام محمد غير متصل مشرف ملتقى علم نظم المعلومات الجغرافية
    تاريخ التسجيل
    Jun 2006
    الدولة
    مصر - الأسكندرية/البحرين-مدينة عيسى
    المشاركات
    1,065

    رد : برنامج جافا بسيط تطبيق و إضافة

    يا حبذا لو شرحت الغرض من البرنامج والعبارات المستخدمة وتدفق البيانات حتى يفهم القارئ الغير خبير كالعبد لله ماذا يجرى في العالم. رمضان كريم
    وسام الدين محمد
    http://geomaniaa.blogspot.com/
  3. #3

    رد : برنامج جافا بسيط تطبيق و إضافة

    آسف جدا ^_^

    المنتدى كان بيعطينى رسالة خطأ فنسيت أكتب أشياء ^_^

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

    كود البرنامج .. نسيت ان أضع الرابط فى ألأعلى
    http://www.copypastecode.com/9197/
  4. #4

    رد : برنامج جافا بسيط تطبيق و إضافة

    البرنامج كان فيه خطأ ..
    عدلت الكود

    http://www.copypastecode.com/9260/
  5. #5

    رد : برنامج جافا بسيط تطبيق و إضافة

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

    " من إللى غير خبير ههههه "

    هو مش الشعار إللى على التى شيرت ده شعار الـ OpenJDK ^_^ ؟؟ و فنجان قهوة تقريبا ؟


    رمضان كريم يا دكتور ^_^





    لكن نعمل شرح البرنامج ببساطة و على قدر فهمى ^_^


    كود:
    import javax.swing.JOptionPane ;
    الأمر هذا لإستيراد JOptionPane لإظهار لإظهار الرسائل من كائن مكتبة الرسوميات Swing من الكائن javax

    كود:
     
    /**
     *
     * @author sherif
     */

    تعليقات بين /* */
    كود:
    public class Main {
    إسم الدالة الرئيسية " هيكل برنامج الجافا "

    كود:
        public static void main(String[] args) {

    كود الميثود الرئيسية للبرنامج " تبع الهيكل الأساسى أيضا لبرنامج الجافا "
    كود:
            int x = 0 ;
    إعلان عن متغير x من نوع العدد الصحيح

    كود:
     
            String Scount = JOptionPane.showInputDialog(null," How many times do you want to calculate ?");
    هذا إعلان لمتغير نصى String Count بعد كده نحوله لمتغير عددى و الهدف من الـ Count هو معرفة عدد مرات الحساب


    كود:
           
            if(!Scount.matches("\\d+")){
                JOptionPane.showMessageDialog(null, "you can not enter characters or lit it empty ");
                JOptionPane.showMessageDialog(null, "If you did not enterd an integer number the program will end ." ,
                        "Caution" ,JOptionPane.WARNING_MESSAGE );           
            }
    وضعت هذا الشرط و دالة

    كود:
    Scount.matches("\\d+")

    هى دالة تعطى قيمة منطقية boolean لو النص يحمل غير الشرط المدخل و الحرف d يعنى إنه لابد إنها تكون حاملة لرقم صحيح فعندما لا تجد يكون قيمتها False فيعمل ما بداخل الشرط و أنا أريد العكس فوضعت علامة التعجب و هى تعنى لا أو غير Not
    إستخداماتها الكاملة هنا
    http://java.sun.com/j2se/1.4.2/docs/...lang.String%29


    كود:
            if(!Scount.matches("\\d+")){
                    Scount = JOptionPane.showInputDialog(null," How many times do you want to calculate ?");
            }

    إذا لم يتحقق الشرط تمر على الشرط الآخر و تكون محاولة أخيرة ..فلو أدخل فراغ أو حرف يفشل البرنامج لإنه هيمر على أمر آخر لتحويل النص لرقم فلو وجد أرقام تعطى خطأ


    كود:
                int wcount = Integer.parseInt(Scount) ;
    هنا عملية التحويل لرقم صحيح

    كود:
                int count = 1 ;
    هذا المتغير للحاجة
    كود:
                int correctanswer = 0 ;
                int wronganswer = 0 ;
                String output = "";
    مفهوم
    كود:
                while (count<=wcount){
    بداية الحلقة التكرارية while و شرطها هو العدد المدخل من قبل المستخدم
    كود:
                    // Generate two random numbers
                    int num1 = (int)(Math.random() * 10) ;
                    int num2 = (int)(Math.random() * 10) ;
                    //swap greater number
                    if (num1<num2){
                        int temp = num2 ;
                        num2 = num1 ;
                        num1 = temp ;
                    }
    هذه الفكرة من الكاتب و هى فكرة رائعة

    عند توليد رقمين من الدالة Random يمكن أن يكون الرقم الأول أصغير و هو يريد عملية طرح بدون سوالب
    فقام بعمل شرط و متغير محلى داخل if و قام بتبديل القيم .

    كود:
                    //Take the answer
                    String Sanswer = JOptionPane.showInputDialog(null,"what is the answer of " + num1 + " - " + num2 + " ? ");
    
                    //No characters , No Empty
                    if(!Sanswer.matches("\\d+"))
                        JOptionPane.showMessageDialog(null, "you can not enter characters or lit it empty ");

    نأخذ الإجابة و نعمل كشف لها هلى هى فارغة أو بحروف و هذه سيتم تكراراها لإن باقى الأوامر بالأسفل تحت بقية الأمر if فى الفرع else فإذا تحقق الشرط لا يمر على الأوامر الموجودة فى else و بالتالى يقوم بإعادة الحلقة مرة آخرى و العودة لنفس الأأمر حتى يتحقق الشرط " طبعا هذه أتعبتنى فكرتها لكنى أحسست بفرحة عند فهمها جيدا "
    كود:
                    //check the answer
                    else{
                        int answer = Integer.parseInt(Sanswer);
                        String reply = "" ;
                        if (answer == (num1-num2)){
                            reply = " your answer is correct" ;
                            correctanswer++ ;
                        }
                        else {
                            reply = " you are wrong !" ;
                            wronganswer++ ;
                        }
    هنا داخل الفرع else نكشف عن الإجابة إذا كانت صحيحة أو خاطئة و إضافة رقم 1 فى كل مرة صحيحة و العكس .

    كود:
                        JOptionPane.showMessageDialog(null, reply);
                        output += "\n" + num1 + " - " + num2 + " = " +  Sanswer + " " +((num1 - num2 == answer) ? "Correct" : "Wrong") ;
    هذا الأمر يقوم بإضافة إلى المخرج output هذه الجملة مع كل مرة تكرارية و هذا الأمر

    كود:
    ((num1 - num2 == answer) ? "Correct" : "Wrong")

    مثل
    كود:
    if (x > 0)
      y = 1
    else
      y = -1;

    كود:
    y = (x > 0) ? 1 : -1;
    و هو أمر مختصر و جميل
    كود:
                        //The Loop Control
                        count++;
    الحلقة التكرارية بدون قيد ستظل تتكرر و هذا هو المتحكم فيها يزداد مع كل مرة يمر فيها " خلال else فقط "


    }
    }

    كود:
               //End of loop
               JOptionPane.showMessageDialog(null, output + "\n" + "The Correct answers is " + correctanswer + "\n" + "The wrong answers is   " + wronganswer);
    
    
        }
    }
    نهاية الدالة و يعطى المخرج النهائى
  6. #6
    الصورة الرمزية د. وسام محمد
    د. وسام محمد غير متصل مشرف ملتقى علم نظم المعلومات الجغرافية
    تاريخ التسجيل
    Jun 2006
    الدولة
    مصر - الأسكندرية/البحرين-مدينة عيسى
    المشاركات
    1,065

    رد : برنامج جافا بسيط تطبيق و إضافة

    كفيت ووفيت وفي انتظار المزيد من المشاركات، لعلنا نشاهد متخصص في برمجة جافا قريباً معاً
    وسام الدين محمد
    http://geomaniaa.blogspot.com/
  7. #7

    رد : برنامج جافا بسيط تطبيق و إضافة

    اقتباس المشاركة الأصلية كتبت بواسطة د. وسام محمد مشاهدة المشاركة
    كفيت ووفيت وفي انتظار المزيد من المشاركات، لعلنا نشاهد متخصص في برمجة جافا قريباً معاً
    الله المستعان و دعواتك بالتوفيق
    i

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

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •