一、项目成员以及coding地址:

二、结对编程题目描述

在个人作业1中,用各种语言实现了一个命令行的四则运算小程序。进一步,本次要求把这个程序做成GUI,成为一个有基本功能、一定价值的程序。在下面的功能需求中实现两个:

记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。

记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。

有计时功能,能显示用户开始答题后的消耗时间;

界面支持中文简体/中文繁体/英语,用户可以选择一种。

三、需求分析

将上次基于控制台的代码写成GUI界面;

设置“英语|简体中文|繁体中文”选项;

开始答题并记录答题时间。

四、思维导图

五、项目实现

语言选择的代码实现

private void initialize() {

// TODO Auto-generated method stub

frame = new JFrame();

if(lang == 1){

frame.setTitle("arithmetic");

}

else if(lang == 2){

frame.setTitle("四则运算");

}

else{

frame.setTitle("四則運算");

}

frame.setSize(900, 300);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Label Title = new Label("題目:", Label.CENTER);

Label ans = new Label("答案:", Label.CENTER);

Label time = new Label("用時:", Label.CENTER);

Label right = new Label("正確數量:", Label.CENTER);

Label wrong = new Label("錯誤數量:", Label.CENTER);

final Label Titles = new Label();

final JTextField anss = new JTextField(12);

final Label rns = new Label();

final Label times = new Label();

final Label rights = new Label();

final Label wrongs = new Label();

JButton next = new JButton("下一題");

next.setFont(new Font("宋体", Font.PLAIN, 16));

JButton check = new JButton("檢查答案");

check.setFont(new Font("宋体", Font.PLAIN, 16));

if(lang == 1){

Title.setText("quiz:");

ans.setText("answer: ");

time.setText("time:");

right.setText("correct:");

wrong.setText("wrong:");

next.setText("next");

check.setText("check");

right.setText("Correct question number:");

wrong.setText("Error question number:");

}

else if(lang ==2 ){

Title.setText("题目:");

ans.setText("答案: ");

time.setText("用时:");

right.setText("正确数量:");

wrong.setText("错误数量:");

next.setText("下一题");

check.setText("检查答案");

right.setText("正确题数:");

wrong.setText("错误题数:");

}

计时功能的代码实现

timer = new Timer();

finishtime = System.currentTimeMillis();

starttime = finishtime;

timer.schedule(new TimerTask() {

public void run() {

finishtime = System.currentTimeMillis();

duration = finishtime - starttime;

String str = df.format(new Date(duration));

times.setText(str);

if (summary == titles) {

try {

Thread.sleep(2000000);

} catch (InterruptedException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}, 1000, 1000);

判断答案是否正确并记录对错数目

check.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

// TODO Auto-generated method stub

if(results.equals(anss.getText())){

if(lang == 1){

rns.setText("Correct!");

rightNum = rightNum + 1;

rights.setText(String.valueOf(rightNum));

}

else if(lang == 2){

rns.setText("正确!");

rightNum = rightNum + 1;

rights.setText(String.valueOf(rightNum));

}

else{

rns.setText("正確!");

rightNum = rightNum + 1;

rights.setText(String.valueOf(rightNum));

}

}else{

if(lang == 1){

rns.setText("Wrong!");

wrongNum = wrongNum + 1;

wrongs.setText(String.valueOf(wrongNum));

}

else if(lang == 2){

rns.setText("错误!");

wrongNum = wrongNum + 1;

wrongs.setText(String.valueOf(wrongNum));

}

else{

rns.setText("错误!");

wrongNum = wrongNum + 1;

wrongs.setText(String.valueOf(wrongNum));

}

}

六、功能截图展示

语言选择界面

不同语言界面演示

选择题数和范围

计时运行和判断对错题数

六、小结感受

对于结对编程是否能1+1>2的结果?我觉得是肯定的,在编程过程中,有许多自己考虑不到的问题,或许别人一个提醒就豁然开朗;

七、评价

优点:对于问题的综合处理能力好,逻辑思维不错;

缺点:代码写的有乱

希望他提高的地方:多交流,共同进步

八、PSP展示

结对编程四则运算gui

码市地址:https://git.coding.net/linzhao/sizeyunsuangui.git 林 钊 -- 201421123105 吴世荣 -- 201421123119 王坤彬 - ...

结对编程-四则运算-GUI

201421123022 王若凡        201421123026  欧阳勇 https://git.coding.net/ttoyy/sizeyunsuan-GUI.git a.需求分析: ...

20175226 2018-2019-2《java程序设计》结对编程-四则运算(第一周-阶段总结)

结对编程-四则运算(第一周-阶段总结) 需求分析 实现一个四则运算程序,要求: 自动随机生成小学四则运算题目(加,减,乘,除) 支持整数.真分数且支持多项式 能够利用栈的思想,将中缀转换为后缀表达式 ...

20175305张天钰Java结对编程四则运算(二)

Java结对编程四则运算(二) 一.题目描述及要求 Git提交粒度不要太粗,建议一个文件/一个类/一个函数/一个功能/一个bug修复都进行提交,不能一天提交一次,更不能一周一次,参考Commit Me ...

20175305张天钰Java结对编程四则运算

Java结对编程四则运算 一.题目描述:如何对表达式进行求值运算呢 1.中缀表达式与后缀表达式(娄老师讲解) 中缀表达式就是运算符号在运算数中间的表达式,比如1+2,顾名思义,后缀表达式就是运算符在运 ...

结对编程--四则运算(Java)萧英杰 夏浚杰

结对编程--四则运算(Java)萧英杰 夏浚杰 Github项目地址 功能要求 题目:实现一个自动生成小学四则运算题目的命令行程序 使用 -n 参数控制生成题目的个数(实现) 使用 -r 参数控制题目 ...

结对编程--四则运算(Java)梅进鹏 欧思良

结对编程--四则运算(Java)梅进鹏 欧思良 Github项目地址:https://github.com/MeiJinpen/Arithmetic 功能要求 题目:实现一个自动生成小学四则运算题目的 ...

王译潇20162314 实验报告三plus结对编程四则运算第一阶段

北京电子科技学院BESTI实验报告 课程:程序设计与数据结构 班级: 1623 姓名: 王译潇 学号:20162314 指导教师:娄佳鹏老师.王志强老师 实验日期:2017年5月12号 实验密级: 非 ...

Java结对编程四则运算一周小结

Java结对编程四则运算一周小结 需求分析 对于四则运算来说最主要的就是要计算出产生的式子(字符串的形式). 设计思路 总体可将这个项目分解为几个部分:产生式子,计算式子,判断对错并记录: 具体的思路 ...

随机推荐

Leetcode House Robber II

本题和House Robber差不多,分成两种情况来解决.第一家是不是偷了,如果偷了,那么最后一家肯定不能偷. class Solution(object): def rob(self, nums): ...

优化移动设备上SharePoint 2013网站

优化移动设备上SharePoint 2013网站 本文由SPFarmer翻译自Waldek Mastykarz的文章 移动市场在持续的增长.在不远的将来,使用移动设备浏览站点将会超过电脑.为了保证用户 ...

OSXFUSE file system is not available 解决方法

操作系统版本:10.14 macos mojeva 今天用truecrypt加载加密盘时候提示次错误:用window加载也有错误,不过用windows自带的工具检查修复了错误. 解决办法: 1.访问h ...

MAC 的ideal 修改 项目名称

在使用 ideal的时候 ,我拷贝了一个文件,想要修改项目的名称,改了qcs-regulation-hefei 但是 (1)我改了项目名称: (2)还改了 pom.xml 但是还是不行,来回切换不同的 ...

[转]webpack中require和import的区别

webpack中可以写commonjs格式的require同步语法,可以写AMD格式的require回调语法,还有一个require.ensure,以及webpack自己定义的require.incl ...

Jenkins(Docker容器内)使用宿主机的docker命令

1.Jenkins镜像 Docker容器内的Jenkins使用容器外宿主机的Docker(即DooD,还有另外的情况就是DioD),google一下有几种说法,但是都没试成功(试过一种就是修改宿主机/ ...

numpy array分割-【老鱼学numpy】

有合并,就有分割. 本节主要讲述如何通过numpy对数组进行横向/纵向分割. 横向/纵向分割数组 首先创建一个6行4列的数组,然后我们对此数组按照横向进行切割,分成3块,这样每块应该有2行,见例子: ...

使用Java创建指定大小的空文件夹

/** 方法一 * 创建固定大小的文件 * @param file * @param length * @throws IOException */ public static void create ...

python 对象存储///对象序列化

如果你有写数据来之不易,并且希望每次都可以方便的读取,那么存储为一个对象是一个很不错的解决方法 方法一. import pickle #首先要导入包 dics={'a':4,'b':5,'c':6}# ...

java 四则运算gui_结对编程-四则运算GUI的实现相关推荐

  1. 《java程序设计》结对编程-四则运算整体总结

    需求分析(描述自己对需求的理解,以及后续扩展的可能性) 实现一个命令行程序,要求: 自动生成小学四则运算题目(加,减,乘,除) 支持整数 支持多运算符(比如生成包含100个运算符的题目) 支持真分数 ...

  2. 张天钰 内大计算机学院,20175305张天钰Java结对编程四则运算

    Java结对编程四则运算 一.题目描述:如何对表达式进行求值运算呢 1.中缀表达式与后缀表达式(娄老师讲解) 中缀表达式就是运算符号在运算数中间的表达式,比如1+2,顾名思义,后缀表达式就是运算符在运 ...

  3. 20165101刘天野 2017-2018-2 《Java程序设计》 结对编程练习_四则运算(第二周)

    20165101刘天野 2017-2018-2 <Java程序设计> 结对编程练习_四则运算(第二周) 一.需求分析 能随机生成n道四则运算题目,n由使用者输入 支持分数运算 支持多运算符 ...

  4. 20165236 2017-2018-2 《Java程序设计》结对编程练习_四则运算

    20165236 2017-2018-2 <Java程序设计>结对编程练习_四则运算 结对小组:叶佺.郭金涛 一.需求分析: 1.能随机生成n道四则运算题目,n由使用者输入: 2.支持多种 ...

  5. java周志第二周_20165325 2017-2018-2 《Java程序设计》结对编程_第二周:四则运算

    20165325 2017-2018-2 <Java程序设计>结对编程_第二周:四则运算 一.码云链接 1.Git提交日志已经实现一个功能/一个bug修复的注释说明,如图所示: 2.测试代 ...

  6. postfixcalc函数 java_结对编程--四则运算(Java)萧英杰 夏浚杰

    结对编程--四则运算(Java)萧英杰 夏浚杰 功能要求 题目:实现一个自动生成小学四则运算题目的命令行程序 使用 -n 参数控制生成题目的个数(实现) 使用 -r 参数控制题目中数值(自然数.真分数 ...

  7. 结对编程--------四则运算 实验总结2

    结对编程----------四则运算 实验总结2 结对对象 20172301 郭恺 20172328 李馨雨 过程截图 这个是我们编写的main,叫ArithmeticTest1主要用于生成随机等级的 ...

  8. 结对编程-四则运算生成

    结对编程-四则运算生成 java实现四则运算程序 github传送门:https://github.com/JJYdesu/operation 成员:赖展飞 江家懿 一.项目要求 实现一个自动生成小学 ...

  9. 20162303 结对编程-四则运算(挑战出题)

    结对编程-四则运算(挑战出题) 结对伙伴:20162307 张韵琪 需求分析 1.建立一个新的代码仓库用于储存代码 2.随机生成指定运算符个数.指定个数和指定存储路径的表达式,包括括号 3.根据要求进 ...

最新文章

  1. java中利用反射创建对象,利用java反射机制动态创建对象
  2. pgrouting进行路径规划之入门二
  3. JDBC中的事物处理
  4. 云计算技术 — 云计算的未来
  5. golang 面向对象 简介
  6. OPenGL中的缓冲区对象
  7. APC UPS报错一例
  8. python常用函数中文_【python】python常用函数
  9. 服务器cpu虚拟插槽,服务器更换cpu插槽
  10. 笔记本计算机属于微型计算机吗,微型计算机和笔记本计算机有什么区别
  11. Scala学习教程笔记三之函数式编程、集合操作、模式匹配、类型参数、隐式转换、Actor、...
  12. java分布式框架_5个强大的Java分布式缓存框架推荐
  13. JavaScript里函数中的this
  14. 傅佩荣谈道家逍遥自在的人生
  15. 利用Python+Gephi生成刀塔霸业棋子关系图
  16. 使用tensorflow进行简单的强化学习 1—Q-learning
  17. 谷歌翻译用不了,失效的最新解决方法之一
  18. Gamma Correction(伽马校正)
  19. 可口可乐启示录:把世界装进瓶子里的4个商人【姜太公公】
  20. 科技前沿(1)-石墨烯 在中国、美国、英国、欧盟、韩国、日本的发展情况

热门文章

  1. Dundas Chart图形工具使用
  2. 医疗信息化专业用语-EMPI
  3. 唯众综合布线实训室设备配置表
  4. 菜鸟成长手册:八大品牌内存真伪巧识别
  5. 关于SD卡数据恢复的基础教程
  6. IKE与IPSec详解
  7. 天相投顾这么看新钢钒
  8. Autolabor_pro1上位机控制调试问题整理
  9. [更新SIP配置方法简要说明] Apple SIP/Rootless安全技术介绍+测试分析及配置方法
  10. 在阿里云上装黑苹果(1):黑苹果基础