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 }
Java实验项目二——小学生考试系统(简单四则运算)的更多相关文章
- Java实验项目二——打印某年某月日历
Program:打印万年历(输入年份,月份,输出该月的日历,已知1900年1月1日是星期一), 要 求: (1)编写一个方法判断闰年: (2)编写一个方法判断某年某月有多少天: (3)编写一个方法计算 ...
- Java实验项目二——二维数组实现九九乘法表
Program:打印乘法口诀表 (1)编写一个方法,参数(二维数组),完成将二维数组中的数据按照行列显示的工作. (2)编写一个测试方法,给出99乘法表,放入到二维数组中,调用(1)中的方法,显示乘法 ...
- Java实验项目二——猜数游戏
1 /* 2 * Description:定义比较类,实现两个数的比较 3 * 4 * */ 5 6 7 package compare; 8 9 import dao.Operate; 10 11 ...
- Java实验报告二:Java面向对象程序设计
Java实验报告二:Java面向对象程序设计 ...
- Java学习笔记三十:Java小项目之租车系统
Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...
- 20145203盖泽双:Java实验报告二
Java实验报告二:Java面向对象程序设计 实验要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验内容 ...
- 实验二:Linux系统简单文件操作命令
項目 内容 这个作业属于哪个课程() 课程链接 这个作业的要求在哪里 实验要求 学号-姓名 17043133-木腾飞 作业学习目标 学习在Linux系统终端下进行命令行操作: 学习掌握常用命令行操作并 ...
- java实验项目报告
JAVA课程项目报告 题目:利用java实现一个时钟的小程序 姓名:王国梁 班级:计科13-2 学号:201303011200 利用JAVA实现一个时钟的小程序 1 ...
- Java实验项目三——简单工厂模式
Program: 请采用采用简单工厂设计模式,为某个汽车销售店设计汽车销售系统,接口car至少有方法print(), 三个汽车类:宝马.奥迪.大众 (属性:品牌,价格),在测试类中根据客户要求购买的汽 ...
随机推荐
- 企业实施CRM系统后的积极作用
公司在发展过程中,可能会遇到各种各样的问题,尤其是来自客户的问题,是最令广大企业头痛的.这并不是一个单方面的问题,不仅涉及到员工也涉及到企业.因此,许多企业使用CRM客户管理系统来管理客户,并通过它来 ...
- SpringBoot实现整合mybatis-generator-maven-plugin 1.4.0
创建 Maven 工程 网上有很多教程且 Idea 可以直接创建 这里就不进行 pom.xml 引入依赖和插件 pom中generalto-maven-plugs中必须指定mysql驱动,并且明确版本 ...
- 『动善时』JMeter基础 — 32、JMeter察看结果树组件详解
目录 1.察看结果树介绍 2.察看结果树界面详解 3.察看结果树的其他功能 (1)将数据写入文件中 (2)Search功能 (3)Scroll automatically选项 4.总结 1.察看结果树 ...
- 行者APP适配国外环境问题解决
(本文1151字,阅读约5分钟) 玩骑行的同伴都知道,长途骑行,第一需要好的硬件,如大腿发动机.车子.装备等:二是需要好的软件,如意志.有氧能力.骑行app等. 到雅加达后,才发现在国内用了几年的黑鸟 ...
- GO学习-(37) 使用Air实现Go程序实时热重载
使用Air实现Go程序实时热重载 今天我们要介绍一个神器--Air能够实时监听项目的代码文件,在代码发生变更之后自动重新编译并执行,大大提高gin框架项目的开发效率. 为什么需要实时加载? 之前使用P ...
- Go语言标准库log介绍
Go语言标准库log介绍 无论是软件开发的调试阶段还是软件上线之后的运行阶段,日志一直都是非常重要的一个环节,我们也应该养成在程序中记录日志的好习惯. log Go语言内置的log包实现了简单的日志服 ...
- Jmeter- 笔记6 - 负载测试
普通场景介绍 1.线程数:并发用户数 2.Ramp-Up时间:启动时间(线程数的准备时间),在这个时间点结束时,所有用户都已运行起来 3.循环次数:每个线程数都要运行的次数.永远 和 调度器一起使用, ...
- EasyExcel 框架使用-读
EasyExcel 框架使用 官方介绍:JAVA解析Excel工具EasyExcel Java解析.生成Excel比较有名的框架有Apache poi.jxl.但他们都存在一个严重的问题就是非常的耗内 ...
- 编译原理-文法(G)和语言(L)
1.设文法G2(S): S->AB A->aA|a B->bB|b G2(S)产生的语言是什么? 解:L(G2)={ambn|m,n≥1} 2.请给出产生语言为{anbn|n≥1}的 ...
- 【NX二次开发】属性操作相关函数的使用方法
内容包括:1.属性创建2.判断属性是否存在3.读取属性值4.时间属性转换成字符串5.统计属性的数量6.删除指定属性7.删除全部属性效果: 源码: #include <stdlib.h> # ...