https://github.com/Sophur/Team-four-operation
一、需求分析
(1)由计算机从题库文件中随机选择20道加减乘除混合算式,用户输入算式答案,程序检查答案是否正确,每道题正确计5分,错误不计分,20道题测试结束后给出测试总分;
(2)题库文件可采用实验二的方式自动生成,也可以手工编辑生成,文本格式如下:
(3)程序为用户提供三种进阶四则运算练习功能选择:百以内整数算式(必做)、带括号算式、真分数算式练习;
(4)程序允许用户进行多轮测试,提供用户多轮测试分数柱状图,示例如下:
(5)程序记录用户答题结果,当程序退出再启动的时候,可为用户显示最后一次测试的结果,并询问用户可否进行新一轮的测试;
(6)测试有计时功能,测试时动态显示用户开始答题后的消耗时间。
(7)程序人机交互界面是GUI界面(WEB页面、APP页面都可),界面支持中文简体(必做)/中文繁体/英语,用户可以进行语种选择。
二、软件设计
程序流程图:
类图:
三、核心功能代码展示
给queding按钮添加监听器,计算本轮分数的核心代码:
1 //确定按钮的点击事件
2 queding.addActionListener(new ActionListener() {
3 public void actionPerformed(ActionEvent e) {
4
5 a1[0]=ans1.getText();
6 a1[1]=ans2.getText();
7 a1[2]=ans3.getText();
8 a1[3]=ans4.getText();
9 a1[4]=ans5.getText();
10 a1[5]=ans6.getText();
11 a1[6]=ans7.getText();
12 a1[7]=ans8.getText();
13 a1[8]=ans9.getText();
14 a1[9]=ans10.getText();
15 a1[10]=ans11.getText();
16 a1[11]=ans12.getText();
17 a1[12]=ans13.getText();
18 a1[13]=ans14.getText();
19 a1[14]=ans15.getText();
20 a1[15]=ans16.getText();
21 a1[16]=ans17.getText();
22 a1[17]=ans18.getText();
23 a1[18]=ans19.getText();
24 a1[19]=ans20.getText();
25
26 int sum=0;
27 for(int i=0;i<20;i++){
28 if(a[i].equals(a1[i])){
29 sum=sum+5;
30 }else{
31 sum=sum+0;
32 }
33 }
34 grade1.setText(String.valueOf(sum));
35 //System.out.println(sum);
36
37 }
38 });