• 计应193第一组小学生做题软件——段杏娜


      设计实现了一个小学生数学考试系统,完成加减乘除随机出题,学生答题,自动判分的功能。
          随机产生一百以内的数字进行加减乘除,显示对错,每次共有五道题,算出最后总成绩,每次结果出来之后会清零可以进行下一轮测试。

    package homework.make;
    
    public class Demo {
    
        public static void main(String args[]) {
    
            int i = 0; // 记录答题个数
            int inputResult = 0; // 接收用户输入的结果
            do {
                // 实例化TestSystem类型对象
                Test t = new Test(Operate.getRandom(), Operate.getRandom(), Operate.getOperateEle());
                System.out.println(t); // 输出表达式
                inputResult = Operate.getInput(); // 用户输入
                if (inputResult == t.getResult()) { // 回答正确,加上对应的分值分
    
                    System.out.println("回答正确!");
                    Test.setGrade(20);
                } else { // 回答错误
    
                    System.out.println("回答错误!");
                }
                i++;
    
            } while (i < 5); // 一共五道题(方便验证)
    
            Test.getGrade(); // 打印最后结果
            Test.clear(); // 总成绩清零
    
        }
    }
    package homework.make;
    
    import java.util.Random;
    import java.util.Scanner;
    
    public class Operate {
    
        // 定义方法,返回一个100以内的随机数
        public static int getRandom() {
            Random ran = new Random();
    
            return ran.nextInt(100);
        }
    
        // 定义方法,返回操作符
        public static String getOperateEle() {
    
            String[] operateEle = { "+", "-","*","/" };
            Random ran = new Random();
    
            return operateEle[ran.nextInt(4)];
        }
    
        // 定义方法,取得用户输入的结果
        public static int getInput() {
    
            Scanner scan = new Scanner(System.in); // 实例化Scanner对象
            int result = 0;
    
            System.out.println("请输入结果:");
            result = scan.nextInt();
            return result;
    
        }
    
    }
    package homework.make;
    
    public class Test {
        private int num1; // 声明两个操作数
        private int num2;
        private String operateEle; // 声明操作符
        private static int grade = 0; // 记录最后得分
        // 定义无参构造方法
    
        public Test() {
    
        }
    
        // 定义带参数的构造方法
        public Test(int num1, int num2, String operateEle) {
    
            this.num1 = num1;
            this.num2 = num2;
            this.operateEle = operateEle;
        }
    
        // 设置setter()和getter()方法
        public int getNum1() {
            return num1;
        }
    
        public void setNum1(int num1) {
            this.num1 = num1;
        }
    
        public int getNum2() {
            return num2;
        }
    
        public void setNum2(int num2) {
            this.num2 = num2;
        }
    
        // 覆写toString()方法
        public String toString() {
    
            return this.num1 + this.operateEle + this.num2;
        }
    
        // 取得表达式的正确结果
        public int getResult() {
    
            int result = 0;
            switch (this.operateEle) {
    
            case "+":
                result = this.num1 + this.num2;
                break;
    
            case "-":
                result = this.num1 - this.num2;
                break;
            case "*":
                result = this.num1 * this.num2;
                break;
    
            case "/":
                result = this.num1 / this.num2;
                break;
            }
    
            return result;
        }
    
        // 向屏幕输出总成绩
        public static void getGrade() {
    
            System.out.println("考试结束,最后成绩为:" + Test.grade);
        }
    
        // 答对问题,将对应的成绩加入总成绩
        public static void setGrade(int grade) {
    
            Test.grade += grade;
        }
    
        // 将总成绩清零
        public static void clear() {
    
            Test.grade = 0;
        }
    
    }
  • 相关阅读:
    2021-06-22 总结
    【每日一题】13. 罗马数字转整数
    【每日一题】12. 整数转罗马数字
    【每日一题】1269. 停在原地的方案数
    【每日一题】1310. 子数组异或查询
    【每日一题】1734. 解码异或后的排列
    【每日一题】872. 叶子相似的树
    【每日一题】1482. 制作 m 束花所需的最少天数
    【每日一题】1723. 完成所有工作的最短时间
    【每日一题】1486. 数组异或操作
  • 原文地址:https://www.cnblogs.com/bladepoint/p/14831555.html
Copyright © 2020-2023  润新知