结对编程1 (四则运算基于GUI)
https://git.coding.net/Luo_yujie/sizeyunsuan.app.git
201421123034
201421123032
1. 需求分析
这次作业新引用了语言选择,计时器与统计正确率功能。首先,在搜索语言国际化后发现,现在程序的开发与使用不仅仅仅限于本地,java语言国际化、多元化已经成为一种必然趋势,这就要求我们必须使用同一套规则,所以,语言选择功能是适应潮流所必需的。计时器与统计正确率功能能让使用本程序的用户更加省心、便捷,约束性更强。
2. 程序设计:针对选择的2-3个新开发功能做设计,使用思维导图。
a.语言选择 用户可以在首界面选择英文、中文、繁体中文语言
b.计时器 按下计时器按钮开始计时,按下结束按钮结束计时,用户可以根据自己需求选择开始做题时间
c.统计正确率 根据用户输入的回答与正确答案的比对,计算正确率并输出

3. 代码展示
a.语言选择功能
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
dispose();//销毁当前页面
new English().setVisible(true); //下个页面显示出来
}
});
b.统计正确率功能
JButton button_1 = new JButton("提交答案");
button_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String[] ans =textArea_1.getText().split("\n");
String strings[]=new String[list11.size()];
for(int i=0,j=list11.size();i<j;i++){
strings[i]=list11.get(i);
} int count=0;
for(int i = 0;i < list11.size();i++){
if(ans[i].equals(strings[i]))
{
print.add("正确\n");
count++;
}
else{print.add("错误\n");}
}
textArea_2.append(print+"\n");
double sum =((double)count/(double)(list11.size()))*100;
lblNewLabel.setText("正确率为:"+sum+"%");
}
});
c.计时器功能
public class timer extends JFrame {
final Label lab = new Label();
Date now = new Date();
@SuppressWarnings("deprecation")
public timer() {
now.setHours(0);
now.setMinutes(0);
now.setSeconds(0);
setBounds(550, 270, 278, 245);
final Timer timer = new Timer(1000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
Date now2 = new Date(now.getTime() + 1000);
now = now2;
SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss");
lab.setText(formatter.format(now));
}
});
Button b1 = new Button("开始");
Button b2 = new Button("停止");
b2.setBounds(235, 209, 67, 40);
b1.setBounds(65, 209, 67, 40);
b1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Button b = (Button) e.getSource();
b.setLabel("开始");
timer.start();
}
});
b2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Button b = (Button) e.getSource();
b.setLabel("停止");
timer.stop();
}
});
4. 程序运行:程序运行及每个功能的使用截图。
a.欢迎界面,选择语言

b.语言分类界面


c.主要功能界面

5. 小结感受:结对编程真的能够带来1+1>2的效果吗?通过这次结对编程,请谈谈你的感受和体会。
本次结对编程两个人一起讨论的效果明显比第一次高效而且有帮助,第一次个人作业时,由于每个人的思路不一样,寻求帮助时,听别人的解释也是一头雾水。这次的结对编程时讨论起来就有目的有针对性得多了。
在语言国际化功能设计当中遇到了很多高深的代码,所以这个功能还有待开发。设计过程中最难解决的时题目的输出,经多次实验发现,最合适的还是用JTextArea文本域输出,虽然看起来像是用于输入的文本框,但是像这种多行多个输出还是用文本域比较合适。
在代码设计过程当中,我们还是比较少用到第一次个人作业的思想与方法,基于GUI的设计许多语言跟控制台不一样就得重新设计编写。所以可能下次以结对作业开始,再进行个人作业,让我们自己分开再完善我们自己的功能可能效果更好一点。
6.
| PSP2.1 | Personal Software Process Stages | Time (h) Senior Student | Time (h) |
| Planning | 计划 | 0.2 | 0.3 |
| · Estimate | 估计这个任务需要多少时间 | 0.1 | 0.1 |
| Development | 开发 | 5 | 6.3 |
| · Analysis | 需求分析 (包括学习新技术) | 0.5 | 1 |
| · Design Spec | 生成设计文档 | 0.2 | 0.2 |
| · Design Review | 设计复审 | 0.2 | 1.2 |
| · Coding Standard | 代码规范 | 0.1 | 0.1 |
| · Design | 具体设计 | 1 | 0.5 |
| · Coding | 具体编码 | 1 | 1.5 |
| · Code Review | 代码复审 | 0.3 | 0.1 |
| · Test | 测试(自我测试,修改代码,提交修改) | 0.4 | 0.5 |
| Reporting | 报告 | 0.15 | 0.1 |
| · | 测试报告 | 0.05 | 0.05 |
| · | 计算工作量 | 0.05 | 0.05 |
| · | 并提出过程改进计划 | 0.2 | 0.4 |
7.过程


结对编程1 (四则运算基于GUI)的更多相关文章
- 第二次作业:结对编程,四则运算的GUI实现
小伙伴:201421123031 余洋 201421123044 潘志坚 题目要求: 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI(可以是W ...
- 结对编程项目——四则运算vs版
结对编程项目--四则运算vs版 1)小伙伴信息: 学号:130201238 赵莹 博客地址:点我进入 小伙伴的博客 2)实现的功能: 实现带有用户界面的四则运算:将原只能在 ...
- 20175324王陈峤宇 2018-2019-2《Java程序设计》结对编程项目-四则运算 第一周 阶段性总结
20175324王陈峤宇 2018-2019-2<Java程序设计>结对编程项目-四则运算 第一周 阶段性总结 需求分析 这次的结对作业是要求我们利用栈来设计一个计算器. 自动生成四则运算 ...
- 20175229许钰玮 2018-2019-2《Java程序设计》结对编程项目-四则运算 第一周 阶段性总结
20175229许钰玮 2018-2019-2<Java程序设计>结对编程项目-四则运算 第一周 阶段性总结 需求分析 自动生成四则运算题目(加.减.乘.除). 既可以用前缀算法(波兰算法 ...
- 20175311胡济栋 2018-2019-2《Java程序设计》结对编程项目-四则运算 第二周 阶段性总结
20175311胡济栋 2018-2019-2<Java程序设计>结对编程项目-四则运算 第二周 阶段性总结 需求分析 这是利用栈来设计一个计算器的第二阶段总结. 自动生成四则运算的题目( ...
- 20165223 结对编程之四则运算week2-整体总结
目录 一.结对对象 二.需求分析 三.设计思路 四.核心代码 五.功能截图 六.结对感受 一.结对对象 担任角色(本周交换角色,流动学习) 驾驶员(Driver):20165218 赵冰雨(是控制键盘 ...
- 20165223 结对编程之四则运算week1-阶段性总结
目录 一.结对对象 二.需求分析 三.设计思路 四.功能截图 五.结对感受 一.结对对象 担任角色 驾驶员(Driver):20165223 蔡霓(是控制键盘输入的人) 领航员(Navigator): ...
- 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-最后阶段
2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-最后阶段 最后的一周,时间越来越紧张,因为之前的拖沓和一些事情的耽误,导致了如今的紧张,这一周应该是我们小组效率最高 ...
- 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段
2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-准备阶段 在一个人孤身奋斗了将近半个学期以后,终于迎来的我们的第一次团队协作共同编码,也就是,我们的第一个结对编程练 ...
- 2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-中坚阶段
2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-中坚阶段 如今的编写,进入了一段时间的中坚阶段,小伙伴的思路虽然很一致,但是总是存在着一定问题,这就造成了我们中坚阶 ...
随机推荐
- Hbase架构与原理
Hbase架构与原理 HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就 ...
- JavaScript中的尾调用优化
文章来源自:http://www.zhufengpeixun.com/qianduanjishuziliao/javaScriptzhuanti/2017-08-08/768.html JavaScr ...
- Angular 小试牛刀[1]:Getting Started
首先,Angular2 与 Angular1.x 版本没有多大关系,甚至可以说是两个完全不一样的框架,故 Angular 指的是 Angular2 及以上的版本.而 Angular 与 TypeScr ...
- 王佩丰第一讲 认识excel笔记
改变工作表表浅颜色 批量插入工作表 选择多张工作表然后插入 找到表格边界区域快捷键(找到表格的最后一行):快速到达最上下左右端 点击边框上下左右双击 从指定的位置开始冻结窗格 输入今天的日期 快捷键c ...
- DataGuard实战1
DataGuard实战1 -------------------------------------------2013/10/27 一.Primary数据库的配置及操作 1. 确定主库处于归档日 ...
- OS作业模拟进程分配与回收
OS的一个作业, 模拟进程的分配与管理 # initialize the memories and the process list(actually a dict) total_memory = 1 ...
- Postman 官网教程,重点内容,翻译笔记,
json格式的提交数据需要添加:Content-Type :application/x-www-form-urlencoded,否则会导致请求失败 1. 创建 + 测试: 创建和发送任何的HTTP请求 ...
- jdbc电话本项目
整体思路:在登陆之后才能查看自己的电话本,电话本中包含用户名,联系人名字,电话,性别,分类: 1.登陆注册页面--数据库User表,注册登陆使用 2.电话本的前段显示,用表格和表单, 3.创建存取的电 ...
- Entity Framework - 基于外键关联的单向一对一关系
代码的世界,原以为世界关系很简单,确道是关系无处不在.NET世界里ORM框架中EntityFramework作为其中翘楚,大大解放了搬砖工作的重复工作,着实提高了不少生产力,而也碰到过不少问题!比如关 ...
- html canvas-nest.js 源码
// canvas_width || r.x canvas_height || r.y = e.max / 2 && (r.x -= 0.03 * x_dist, r.y -= 0.0 ...