السلام عليكم

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

قمت بتطبيق برنامج من كتاب 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