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

原文地址:https://www.cnblogs.com/lwy1023/p/6550879.html