GitHub仓库地址:
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 });