-
-
-
- 一、主要功能说明
- 二、运行截图
- 三、类的设计(各类之间的关系)
- 四、源代码
- 1. MyExGUI.java
- 2.Operation.java
- 3.Addition.java
- 4.Subtraction.java
- 5.Multiplication.java
- 6.Division.java
- 7.ArithmeticTest8.java
-
-
一、主要功能说明
- 输入用户名后可以点击开始做题按钮,出题时每次出十题,提交后会显示答案。可以选择重做或再次开始做题(不同的题)
- 输入用户名后可以点击查看记录按钮,查看自己历次做题记录。
- 可以选择每次出题的运算类型和位数。运算类型可选+、-、*、/或混合,位数可选1、2、3、4位。默认运算类型为+,运算位数为0。
- 除数不能为0,减法结果不为负。
- 每次做题时会有倒计时显示,需要在120s内做完,如果时间到了还没提交则会自动提交。其实原本设计的时候应该是可以自己规定最大时间的,但是写的时候并没有实现这个功能。
二、运行截图
-
刚刚运行之后的界面:
-
提交后
-
查看记录
三、类的设计(各类之间的关系)
- Operation类
重要属性:两个操作数、正确答案、用户答案
重要方法:抽象方法operation,用于对操作数的运算。答案的输出、用户答案的set、答案是否正确的比对。 - +、-、*、/类继承于Operation类,重写operation方法。减法和除法还要保证除数不能为0等。
- MyExGUI类
界面的布局、按钮事件的监听、倒计时的实现等等。 - ArithmeticTest8类,调用MyExGUI。(不知道把所有东西都写在MyExGUI是不是正确的做法)
另:关于Operation 类中isNumRight();setRange();之类方法的作用。在写倒计时之前实现过另一个功能,就是计算比如说一位数的加法,一定不对小于0,也不会大于18,如果出现了可能范围内的数据就会进行提醒(自定义异常NumberTooBigException),用户无法进行提交。但是后来由于加了倒计时,在倒计时结束时无论用户输了什么都还是要提交的就把这个功能删去了。但是有些函数还是没有删去。
四、源代码
1. MyExGUI.java
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!