Java 生成并验证简单加法数学题

以下代码片段展示了如何使用 Java 生成简单的加法数学题,并验证用户答案是否正确:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;

public class MathQuiz {

    private static int range;

    public static List<String> generateQuestions(int range, int count) {
        MathQuiz.range = range;
        Random random = new Random();
        List<String> questions = new ArrayList<>();
        for (int i = 0; i < count; i++) {
            int num1 = random.nextInt(range + 1);
            int num2 = random.nextInt(range + 1);
            int sum = num1 + num2;
            String question = num1 + ' + ' + num2 + ' = ';
            questions.add(question);
        }
        return questions;
    }

    public static boolean isCorrectAnswer(String question, String answer) {
        Map<String, String> answerMap = new HashMap<>();
        for (int num1 = 0; num1 <= range; num1++) {
            for (int num2 = 0; num2 <= range; num2++) {
                int sum = num1 + num2;
                String q = num1 + ' + ' + num2 + ' = ';
                String correctAnswer = Integer.toString(sum);
                answerMap.put(q, correctAnswer);
            }
        }

        String correctAnswer = answerMap.get(question);
        return answer.equals(correctAnswer);
    }

    public static void main(String[] args) {
        List<String> questions = generateQuestions(10, 5);
        for (String question : questions) {
            System.out.println(question);
            // 在这里添加获取用户答案的代码
            // 例如:String userAnswer = scanner.nextLine();
            // 然后调用 isCorrectAnswer 方法验证答案
            // System.out.println(isCorrectAnswer(question, userAnswer));
        }
    }
}

代码说明:

  • generateQuestions 方法接收两个参数:range 表示数字范围,count 表示要生成的题目数量。
  • generateQuestions 方法中,使用 Random 类生成随机数,并构建加法题目字符串。
  • isCorrectAnswer 方法接收两个参数:question 表示题目,answer 表示用户输入的答案。
  • isCorrectAnswer 方法中,预先生成了所有可能的问题和答案,并存储在 answerMap 中,然后根据传入的 question 获取对应的正确答案,最后与用户输入的 answer 进行比较。
  • main 方法中,调用 generateQuestions 方法生成题目列表,并遍历题目列表,打印题目,并可以添加获取用户答案和验证答案的代码。

注意:

  • 这段代码只是一个简单的示例,您可以根据自己的需要进行修改和扩展。
  • 在实际应用中,您可能需要考虑更复杂的题目生成逻辑,例如支持不同的运算符、负数、小数等。
Java 生成并验证简单加法数学题

原文地址: https://www.cveoy.top/t/topic/RrW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录