基于GUI的四则运算

队员:李雯钰 201421123066、钱惠201421123071代码地址:https://coding.net/u/lwy1023/p/jiedui111/git
题目要求:本次要求把上周个人做的四则运算程序做成GUI(可以是Windows PC 上的,也可以是Mac、Linux,web,手机上的),成为一个有基本功能、一定价值的程序。在下面的功能需求中实现两至三个:
1、记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。
2、有计时功能,能显示用户开始答题后的消耗时间。
3、界面支持中文简体/中文繁体/英语,用户可以选择一种;代码规范约定:
我们都是女生,也参考了书中的内容,最终我们决定尽力达到规范的书写,做到代码简明,易读,无二义性的原则,所以我们从各个方法的命名开始就周期性的检查代码的格式,争取让代码变得更加“养眼”。
需求分析:
1、除了整数的四则运算还要支持分数的四则运算;
2、运算符为 +, −, ×, ÷;
3、能处理用户的输入,包括分数;
4、程序基于GUI界面;
5、能记录用户做题的对错数量,下次使用程序时能在之前的数量上增加;
6、有计时功能,能显示用户开始答题后的消耗时间
思维导图:

功能实现:主要功能除了在第一次作业中的四则运算功能,增加了计时器功能以及记录对错题总数的功能;
主要功能:
1.开始窗口:

Start(String s,String userName)
{
super(s);
name=userName;
setLayout(new GridLayout(2,2));
tip1=new Label("Arithmetic",Label.RIGHT);
tip2=new Label("Test Start",Label.LEFT);
tip1.setBackground(Color.green);
tip2.setBackground(Color.green);
add(tip1);
add(tip2);
setting=new Button("Setting & Begin");
historyGrade=new Button("History Grade");
setting.setBackground(Color.orange);
historyGrade.setBackground(Color.blue);
add(setting);
add(historyGrade);
addWindowListener(new MyWindowListener());
setBounds(520,230,230,120);
setting.addActionListener(this);
historyGrade.addActionListener(this);
setVisible(true);
validate();
}
2.计时器
public void run()
{
int i=0;
while(i!=300)
{
try
{
sleep(1000);
i++;
tip.setText(" Time : " +i+ " s. ");
}
catch(Exception eee)
{}
}
tip.setText("Time Over!");
}
3.选择出题数

4.做题窗口:在按下开始键后出题下方txt区域显示正确与否再发出下一道题


5.题目正确率的统计

6.历史统计的主窗口

这是我们小组在寝室交流沟通的场景:

PSP

自我总结:
在这次实验中,遇到了许多小问题,比如说之前没写过GUI实例,自己通过学习并开始写GUI图形界面,我们认同实现计时和记录对错即可;从实际出发,实事求是,尽自己的所能写好每一次代码;在图形界面中判断数据类型时,也碰到了一些小问题,最终通过不断调试解决。

posted @ 2017-03-14 22:55  年方已远  阅读(362)  评论(1编辑  收藏  举报