java语言的科学与艺术-编程练习6.6

 1 /*
 2 *File: MathQuiz.java
 3 */
 4 import acm.util.*;
 5 import acm.program.*;
 6 
 7 public class MathQuiz extends ConsoleProgram{
 8     public void run(){
 9         println("Welcome to MathQuiz ");
10         for (int i = 0; i < TIMES; i++ ) {
11             doOneQuiz();
12         }
13 
14     }
15     private void setAQuestion(){
16         int n1 = rgen.nextInt(0,20);
17         int n2 = rgen.nextInt(0,1);
18         int n3 = 0;
19         if(n2 == 1){
20             n3 = rgen.nextInt(20 - n1);
21             println("What is " + n1 + " + " + n3 + " ?");
22             ANSWER = n1 + n3;
23         } else {
24             n3 = rgen.nextInt(0,n1);
25             println("What is " + n1 + " - " + n3 + " ?");
26             ANSWER = n1 - n3;
27         }
28 
29     }
30     private boolean judgeAnswer(){
31         int i = 0;
32         int answer = readInt("");
33         while(i < 2){
34             if(answer == ANSWER){
35                 return true;
36             } else {
37                 answer = readInt("That's incorrect - try a different answer: ");
38                 i++;
39             }
40         }
41         return false;
42     }
43     private void doOneQuiz(){
44         setAQuestion();
45         if(judgeAnswer()){
46             println("That's the answer!");
47         } else {
48             println("No, the answer is " + ANSWER + " .");
49         }
50     }
51     /*Create an instance variable for the random number generator */
52     private RandomGenerator rgen = RandomGenerator.getInstance();
53     /*private constants*/
54     private int TIMES = 5;
55     private int ANSWER;
56 }

posted on 2012-12-12 19:12  mybluecode  阅读(250)  评论(0)    收藏  举报