首页 > 解决方案 > 帮助小学生学习乘法的写作程序

问题描述

编写一个程序,帮助小学生学习乘法。使用 SecureRandom 对象生成两个正的一位整数(您需要查看如何执行此操作)。然后程序应该提示用户一个问题,例如

6乘以7等于多少?然后学生输入答案。接下来,程序检查学生的答案。如果正确,则显示消息“非常好!” 并问另一个乘法问题。如果答案错误,显示消息“No. Please try again.>again.”。并让学生反复尝试相同的问题,直到学生最终答对为止。

应该使用单独的方法来生成每个新问题。此方法应在应用程序开始执行时以及每次用户正确回答问题时调用一次。

我的问题是你必须做一个 if else 语句 == my public static mathQuestion 然后让它输出吗?制作 SecureRandom 后,我不知道该怎么做。我还是 Java 新手。

在多次错过这个问题后,我尝试过做一个 if-else 语句,但它已经在一个方法中完成了。

import java.security.SecureRandom;
import java.util.;

public class h_p1 {
    static SecureRandom rand = new SecureRandom();
    static Scanner sc = new Scanner (System.in);
 public static int mathQuestion() {
    int n1 = rand.nextint(9) + 1;
    int n2 = rand.nextint(9) + 1;

    System.out.print("What is" + n1 + "x" + n2"?");
    return r1 * r2;
}


}

}

标签: javamethodssecure-random

解决方案


public class Quiz {

    public static void main(String[] args) {

        generateRandomNumbers();

    }

    public static void generateRandomNumbers() {
        SecureRandom rand = new SecureRandom();
        Scanner sc = new Scanner (System.in);

        int n1 = rand.nextInt(9) + 1;
        int n2 = rand.nextInt(9) + 1;

        generateQuestion(n1,n2);
    }

    public static void generateQuestion(int n1, int n2) {

        Scanner sc = new Scanner (System.in);

        System.out.print("What is " + n1 + " x " + n2+ " ?");

        int typedAnswer = sc.nextInt();

        if(typedAnswer == (n1*n2)) {
            System.out.println("Correct Answer");
            generateRandomNumbers();
        }else {
            System.out.println("Wrong Answer");
            generateQuestion(n1,n2);
        }

    }

}

推荐阅读