zoukankan      html  css  js  c++  java
  • Java实验项目二——小学生考试系统(简单四则运算)

    Program:设计实现一个小学生数学考试系统,完成随机出题(简单的四则运算),学生答题,自动判分的功能。

    Description:代码如下:

     1 /*
     2  * Description:面向考试系统建立类TestSystem
     3  * 
     4  * */
     5 
     6 package entity;
     7 
     8 public class TestSystem {
     9 
    10     private int num1;            //声明两个操作数
    11     private int num2;
    12     private String operateEle;        //声明操作符
    13     private static int grade = 0;        //记录最后得分
    14     
    15     //定义无参构造方法
    16     public TestSystem() {
    17         
    18     }
    19     
    20     //定义带参数的构造方法
    21     public TestSystem(int num1,int num2,String operateEle) {
    22         
    23         this.num1 = num1;
    24         this.num2 = num2;
    25         this.operateEle = operateEle;
    26     }
    27 
    28     //设置setter()和getter()方法
    29     public int getNum1() {
    30         return num1;
    31     }
    32 
    33     public void setNum1(int num1) {
    34         this.num1 = num1;
    35     }
    36 
    37     public int getNum2() {
    38         return num2;
    39     }
    40 
    41     public void setNum2(int num2) {
    42         this.num2 = num2;
    43     }
    44     
    45     //覆写toString()方法
    46     public String toString() {
    47         
    48         return this.num1 + this.operateEle + this.num2;
    49     }
    50     
    51     //取得表达式的正确结果
    52     public int getResult() {
    53         
    54         int result = 0;
    55         switch(this.operateEle) {
    56         
    57             case "+": result = this.num1 + this.num2;break;
    58             
    59             case "-": result =  this.num1 - this.num2;break;
    60             
    61             case "*": result =  this.num1 * this.num2;break;
    62             
    63             case "/": result =  this.num1 / this.num2;break;
    64         }
    65         
    66         return result;
    67     }
    68     
    69     //向屏幕输出总成绩
    70     public static void getGrade() {
    71         
    72         System.out.println( "考试结束,最后成绩为:" + TestSystem.grade );
    73     }
    74     
    75     //答对问题,将对应的成绩加入总成绩
    76     public static void setGrade(int grade) {
    77         
    78         TestSystem.grade += grade;
    79     }
    80     
    81     //将总成绩清零
    82     public static void clear() {
    83 
    84         TestSystem.grade = 0;
    85     }
    86     
    87     
    88 }
     1 /*
     2  * Description:定义类Operate,用于获取随机操作数和操作符
     3  * 
     4  * */
     5 
     6 
     7 package tools;
     8 
     9 import java.util.Random;
    10 import java.util.Scanner;
    11 
    12 public class Operate {
    13     
    14     //定义方法,返回一个100以内的随机数
    15     public static int getRandom() {
    16         
    17         Random ran = new Random();
    18         
    19         return ran.nextInt(100);  
    20     }
    21     
    22     //定义方法,返回操作符
    23     public static String getOperateEle() {
    24         
    25         String[] operateEle = {"+","-","*","/"};
    26         Random ran = new Random();
    27         
    28         return operateEle[ran.nextInt(4)];
    29     }
    30     
    31     
    32     //定义方法,取得用户输入的结果
    33     public static int getInput() {
    34         
    35         Scanner scan = new Scanner(System.in);        //实例化Scanner对象
    36         int result = 0;
    37         
    38         System.out.println( "请输入结果:" );
    39         result = scan.nextInt();
    40         return result;
    41         
    42     }
    43     
    44     
    45 }
     1 /*
     2  * Description:小学简单四则运算,系统随即出题,每题20分
     3  * 
     4  * Written By:Cai
     5  * 
     6  * Date Written:2017-09-25
     7  * 
     8  * */
     9 
    10 package main;
    11 
    12 import tools.Operate;        //导入自定义的两个类
    13 import entity.TestSystem;
    14 
    15 public class DemoTwo4 {
    16 
    17     public static void main(String args[]) {
    18         
    19         int i = 0;        //记录答题个数
    20         int inputResult = 0;        //接收用户输入的结果
    21         do {
    22             //实例化TestSystem类型对象
    23             TestSystem ts = new TestSystem(Operate.getRandom(),Operate.getRandom(),Operate.getOperateEle());
    24             System.out.println(ts);                    //输出表达式
    25             inputResult = Operate.getInput();        //用户输入
    26             if( inputResult == ts.getResult() ) {    //回答正确,加上对应的分值分
    27                 
    28                 System.out.println( "回答正确!" );    
    29                 TestSystem.setGrade(20);            
    30             }else {                                    //回答错误
    31                 
    32                 System.out.println( "回答错误!" );
    33             }
    34             i++;
    35             
    36         }while(i < 5);                                //一共五道题(方便验证)
    37         
    38         TestSystem.getGrade();                        //打印最后结果
    39         TestSystem.clear();                        //总成绩清零                    
    40         
    41     }
    42 }
    初学小白,请多指教!
  • 相关阅读:
    [转] 浅谈 C++ 中的 new/delete 和 new[]/delete[]
    [转] dpkg-deb命令
    [转] 将DOS格式文本文件转换成UNIX格式
    STM32与FreeRTOS实现低功耗
    设置Beyond Compare 为 Git 默认的比较工具
    [转]Linux进程间通信——使用消息队列
    还你一个自由、干净的网络环境
    Linux下的Hello world
    Cortex-M3中C与汇编的交互
    数据结构25:矩阵转置算法(三元组顺序表)
  • 原文地址:https://www.cnblogs.com/caizhen/p/7594419.html
Copyright © 2011-2022 走看看