zoukankan      html  css  js  c++  java
  • 计应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;
        }
    
    }
  • 相关阅读:
    《MySQL必知必会》第二十三章:使用存储过程
    《MySQL必知必会》第二十四章:使用游标
    《MySQL必知必会》第二十五章:使用触发器
    《MySQL必知必会》第二十章:更新和删除数据
    《MySQL必知必会》第二十一章:创建和操纵表
    《MySQL必知必会》第二十二章:使用视图
    《MySQL必知必会》第十七章:组合查询
    《MySQL必知必会》第十八章:全文本搜索
    [LeetCode] 930. Binary Subarrays With Sum
    [LeetCode] 676. Implement Magic Dictionary
  • 原文地址:https://www.cnblogs.com/bladepoint/p/14831555.html
Copyright © 2011-2022 走看看