小学算术运算测试程序java_Java实现小学四则运算练习系统(UI)

本文介绍了一个Java编程实现的小学生四则运算练习软件,该软件具有多种练习模式,包括百以内整数、带括号和真分数运算,并支持多轮测试和成绩记录。用户界面为GUI,可显示测试成绩柱状图和计时功能。通过结对编程,作者体验到合作编程的优势,认为结对编程可以提高效率并减少错误。
摘要由CSDN通过智能技术生成

我的学号:201571030104

小伙伴的学号:201571030109

实验要求

软件基本功能要求如下:

在《实验二 软件工程个人项目》中,同学们实现了一个命令行四则运算出题小程序,本次实验采用结对编程方式,设计开发一个小学生四则运算练习软件,使之具有以下功能:

(1)由计算机从题库文件中随机选择20道加减乘除混合算式,用户输入算式答案,程序检查答案是否正确,每道题正确计5分,错误不计分,20道题测试结束后给出测试总分;

(2)题库文件可采用实验二的方式自动生成,也可以手工编辑生成,文本格式如下:

2c8363dddb1272c4aa00a57a94729cc1.png

(3)程序为用户提供三种进阶四则运算练习功能选择:百以内整数算式(必做)、带括号算式、真分数算式练习;

(4)程序允许用户进行多轮测试,提供用户多轮测试分数柱状图,示例如下:

145c3cd3889aabfddc1f425cdcabd91e.png

(5)程序记录用户答题结果,当程序退出再启动的时候,可为用户显示最后一次测试的结果,并询问用户可否进行新一轮的测试;

(6)测试有计时功能,测试时动态显示用户开始答题后的消耗时间。

(7)程序人机交互界面是GUI界面(WEB页面、APP页面都可),界面支持中文简体(必做)/中文繁体/英语,用户可以进行语种选择。

1、需求分析

该项目要求程序有人机交互界面,且可评判成绩。可为用户提供百以内整数算式、带括号算式、真分数算式三种练习,可为进行多轮测试并记录成绩生成柱状图并且记录用户消耗的时间。

2、功能分析

可实现基本要求,即可生成数字在 0 和 100 之间,运算符在3个到5个之间的计算表达式,并计算出表达式的结果

随机可生成带括号的运算式,括号不会超过运算符的个数

生成真分数的四则运算

有用户界面,可进行多轮测试

记录测试结果,并将以往成绩以柱状图展示

测试时,记录用户的测试用时

3、设计实现

4、运行测试

设计交互界面,首页登陆,登录用户名“admin”,密码123456。

fe6e9c4c5f317b6290e248a57573c3b8.png

0eef98f5f18f403604262a2cd6a041bc.png

55cdbb7312d7a80ef3b9b9276e343c17.png

答题界面

79546e97ef129cf6d26646bf488b7429.png

b866c5581ceb8d95bf268ca712a4e284.png

2dcc6432d1c4870401a3ae87bad33c1e.png

答题完毕后,可以点击保存练习过的题目(包括自己答题的答案)

97e0b560338948bae157f0de4aa552a3.png

4a2b0e9d9f4d497d5c9eab6417e9fd41.png

答题结束后,可以查看自己得分情况(具体的用一个柱状统计图展示)

910e9b740c316d8549be066bd1a609e6.png

5、核心代码

登录界面

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 public classLogin {2

3 publicLogin()4 {5 JFrame f=newJFrame();6 f.setTitle("小学生四则运算答题系统");7 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);8 f.setExtendedState(JFrame.MAXIMIZED_BOTH);9 f.setVisible(true);10

11 //设置窗口的大小和位置

12 f.setSize(500,500);13 f.setLocation(200,200);14

15 Container con=f.getContentPane();//生成一个容器

16 con.setLayout(new GridLayout(7,1));17

18 JPanel pan1 =newJPanel();19 JLabel title=new JLabel("欢迎登陆小学生四则运算答题系统");20 title.setFont(new Font("宋体",Font.BOLD, 20));21 pan1.add(title);22 con.add(pan1);23 //生成一个新的版

24 JPanel pan2 = newJPanel();25 JPanel pan3 = newJPanel();26 JPanel pan4 = newJPanel();27 JPanel pan5 = newJPanel();28

29 con.add(pan2);30 con.add(pan3);31 con.add(pan4);32 con.add(pan5);33

34 JLabel name=new JLabel("用户名");35 pan2.add(name);36 TextField tf_name=new TextField(20);37 pan2.add(tf_name);38

39 JLabel pass = new JLabel("密码");40 pan3.add(pass);41 TextField password=new TextField(20);42 password.setEchoChar('*');43 pan3.add(password);44

45 JButton b_log=new JButton("登陆");46 b_log.addActionListener(newActionListener() {47 public voidactionPerformed(ActionEvent e) {48 //TODO Auto-generated method stub49 //获取用户名和密码,进行校验

50 String myUsername=tf_name.getText();51 String myPassword=password.getText();52 if(myUsername.equals("admin")&& myPassword.equals("123456")){53 JOptionPane.showMessageDialog(null, "登陆成功!");54 f.dispose();55 MyExGUI ui = newMyExGUI();56

57 }58 else{59 JOptionPane.showMessageDialog(null, "账号或密码错误!");60 name.setText( "");61 password.setText( "");62 }63<

  • 3
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值