结对编程1 李雯钰66、钱惠71
队员:李雯钰 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.pink);
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,然后在看需求添加相应的计时器功能和简单的记录错题数的功能,在写程序过程也遇到过不少问题,比如在获取随机数时无法传到界面上,所以我们小组讨论了很久,以后在编程遇到问题的时候冷静一点处理,不断提高自己的编程能力。