第二期,使用generateNumber()方法进行随机生成数学题

public int generateNumber(int random){
Random generator = new Random();
int a = generator.nextInt(random);
return random;
}

.equal()只判断值是否相等

package mathquiz;

import java.util.Random;
import java.util.Scanner;

public class QuizMain {

    public static void main(String[] args) {

        int score=0;
        int rounds=3;
        
        //add your code here
            QuizMain timu = new QuizMain();
           
            Scanner daan = new Scanner(System.in);
           boolean isvalid = false;
           while(!isvalid) {
        	   double cAnswer = timu.generateQuestion();
        	   while(!isvalid && !daan.hasNextDouble()) {
        		   String str = daan.next();     	   
        		   if(str.toLowerCase().equals("x")) {
        			   isvalid = true;  
        		   }
        	   }
        		   if(!isvalid) {
        		   double s = daan.nextDouble();
        		   score+=timu.checkAnswer(s, cAnswer);
        	   }
           }
           
           System.out.println("you got the score:"+score);
    }
    
    public double generateQuestion(){
        int x = generateNumber(100);
        int y = generateNumber(100);
        int z = generateNumber(4);
        double cAnswer = 0;
        String op = "";
        switch(z) {
        case 0:
        	cAnswer = x+y;
        	op = "+";
        	break;
        case 1:
        	cAnswer = x-y;
        	op = "-";
        	break;
        case 2:
        	cAnswer = x*y;
        	op = "*";
        	break;
        case 3:
        	  while(y==0)
                  y=generateNumber(100);
              cAnswer=1.0*x/y;
              op="/";
              break;     
        }
        System.out.print(x + op + y + "=");
        return cAnswer;
    
    }
    
     
     
     public int generateNumber(int a) {
          Random ran = new Random();
          int b = ran.nextInt(a);         
        return b;
    }

    public static int checkAnswer(double uAnswer, double cAnswer){
    	int score = 0;
         if(cAnswer==uAnswer) {
        	 score=10;
         }
         if(cAnswer!=uAnswer) {
        	 score=-10;
         }
        
        return score;
    
    }


}

与第一期所不同之处在于generateNumber方法用上了,这次是在构造器中加一个整数a

猜你喜欢

转载自blog.csdn.net/qq_42615643/article/details/84311116
今日推荐