四则运算--计应192何晗颖

小学生四则运算

一:项目目的:能够进行加、减、乘、除四种运算规则自动出题,自动判断对错,并且总结出正确题数,给出成绩。

  需求分析:给小学生出题,减少家长负担

  代码规范:使用java代码,文面简洁分明

 


二:PSP

 

 

 三:具体代码:



/*
 * Description:面向考试系统建立类TestSystem
 *
 * */

package entity;

public class TestSystem {

    private int num1;            //声明两个操作数
    private int num2;
    private String operateEle;        //声明操作符
    private static int grade = 0;        //记录最后得分

    //定义无参构造方法
    public TestSystem() {

    }

    //定义带参数的构造方法
    public TestSystem(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( "考试结束,最后成绩为:" + TestSystem.grade );
    }

    //答对问题,将对应的成绩加入总成绩
    public static void setGrade(int grade) {

        TestSystem.grade += grade;
    }

    //将总成绩清零
    public static void clear() {

        TestSystem.grade = 0;
    }


} /*   * Description:定义类Operate,用于获取随机操作数和操作符   * 

   * */
  
 
 package tools;
 
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;
}
}

 /*
 * Description:小学简单四则运算,系统随即出题,每题20分
  
 * Written By:Cai
 * 
* Date Written:2017-09-25
  * 
  * */
 package main;
 
 import tools.Operate;        //导入自定义的两个类
import entity.TestSystem;

 public class DemoTwo4 {

   public static void main(String args[]) {
       
    int i = 0;        //记录答题个数
       int inputResult = 0;        //接收用户输入的结果
       do {
           //实例化TestSystem类型对象
           TestSystem ts = new TestSystem(Operate.getRandom(),Operate.getRandom(),Operate.getOperateEle());
           System.out.println(ts);                    //输出表达式
            inputResult = Operate.getInput();        //用户输入
           if( inputResult == ts.getResult() ) {    //回答正确,加上对应的分值分
              
                System.out.println( "回答正确!" );    
                TestSystem.setGrade(20);            
             }else {                                    //回答错误
               
                 System.out.println( "回答错误!" );
            }
            i++;

         }while(i < 5);                                //一共五道题(方便验证)
        
         TestSystem.getGrade();                        //打印最后结果
         TestSystem.clear();                        //总成绩清零                    
     }
}

 

四:总结

在设计过程中,遇到了许多的困难,但是没有放弃,一点点的排查问题的源头,最终得到了胜利的成果。 这次作业有了些许成长,下次会继续努力的!

posted @ 2021-06-01 16:18  陈十十  阅读(41)  评论(0编辑  收藏  举报