队员:李雯钰 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、有计时功能,能显示用户开始答题后的消耗时间
思维导图:
1113075-20170314224418276-1188374129.png

功能实现:主要功能除了在第一次作业中的四则运算功能,增加了计时器功能以及记录对错题总数的功能;
主要功能:
1.开始窗口:
1113075-20170314222756666-58249225.png
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.选择出题数
1113075-20170314223424729-1363247102.png
4.做题窗口:在按下开始键后出题下方txt区域显示正确与否再发出下一道题
1113075-20170314223600870-775439650.png
1113075-20170314223618495-408037766.png
5.题目正确率的统计
1113075-20170314223757510-147912472.png
6.历史统计的主窗口
1113075-20170314223828323-419698836.png

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

1113075-20170314224352010-1200826278.png

PSP
1113075-20170314224306885-395863098.png

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

转载于:https://www.cnblogs.com/huiQ/p/6551204.html

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐