201421123118 张中结    201421123098 胡丹丹

a.需求分析

这个程序做成GUI(可以是Windows PC 上的,也可以是Mac、Linux,web,手机上的),成为一个有基本功能、一定价值的程序。在下面的功能需求中实现两个:

  1. 记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。
  2. 有计时功能,能显示用户开始答题后的消耗时间。
  3. 界面支持中文简体/中文繁体/英语,用户可以选择一种。

b.功能设计

  1.支持语言的切换

  2.计时功能

  3.错题收集

思维导图:

  

c.代码展示:

错题收集并保存在本地

  1. FileWriter fw = null;
  2.  
  3. try {
  4.  
  5. //如果文件存在,则追加内容;如果文件不存在,则创建文件
  6.  
  7. File f=new File("D:/cuoti.txt");
  8.  
  9. fw = new FileWriter(f, true);
  10.  
  11. }
  12.  
  13. catch (IOException e) {
  14.  
  15. e.printStackTrace();
  16.  
  17. }
  18.  
  19. PrintWriter pw = new PrintWriter(fw);
  20.  
  21. pw.println(L8.getText()+"="+T3.getText()+" "+"正确答案:"+sum1 +'\n');
  22.  
  23. pw.flush();
  24.  
  25. try {
  26.  
  27. fw.flush();
  28.  
  29. pw.close();
  30.  
  31. fw.close();
  32.  
  33. } catch (IOException e) {
  34.  
  35. e.printStackTrace();
  36.  
  37. }
  38. B6.addActionListener(new ActionListener(){//错题本打开
  39.  
  40. public void actionPerformed(ActionEvent d) {
  41.  
  42. try
  43.  
  44. {
  45.  
  46. Runtime.getRuntime().exec("notepad.exe D:/cuoti.txt");
  47.  
  48. }
  49.  
  50. catch(Exception e)
  51.  
  52. {
  53.  
  54. System.out.println(e.getMessage());
  55.  
  56. }
  57.  
  58. }
  59.  
  60. });

语言切换:

  1. B3.addActionListener(new ActionListener(){//简体中文
  2.  
  3. public void actionPerformed(ActionEvent e) {
  4.  
  5. L1.setText("题数:");
  6.  
  7. L2.setText("题目:");
  8.  
  9. L3.setText("输入答案:");
  10.  
  11. L4.setText("结果:");
  12.  
  13. L5.setText("答对题数:");
  14.  
  15. L6.setText("答错题数:");
  16.  
  17. L7.setText("答题时间:");
  18.  
  19. B0.setText("开始");
  20.  
  21. B1.setText("下一题");
  22.  
  23. B6.setText("错题集");
  24.  
  25. //B2.setText("计时");
  26.  
  27. }
  28.  
  29. });
  30.  
  31. B4.addActionListener(new ActionListener(){//繁体中文
  32.  
  33. public void actionPerformed(ActionEvent e) {
  34.  
  35. L1.setText("題數");
  36.  
  37. L2.setText("題目:");
  38.  
  39. L3.setText("輸入答案:");
  40.  
  41. L4.setText("結果:");
  42.  
  43. L5.setText("答對題數:");
  44.  
  45. L6.setText("答錯題數:");
  46.  
  47. L7.setText("答題時間:");
  48.  
  49. B0.setText("開始");
  50.  
  51. B1.setText("下一題");
  52.  
  53. B6.setText("錯題集");
  54.  
  55. }
  56.  
  57. });
  58.  
  59. B5.addActionListener(new ActionListener(){//英文
  60.  
  61. public void actionPerformed(ActionEvent e) {
  62.  
  63. L1.setText("Question number");
  64.  
  65. L2.setText("Test:");
  66.  
  67. L3.setText("Enter the answer:");
  68.  
  69. L4.setText("Result:");
  70.  
  71. L5.setText("Right number:");
  72.  
  73. L6.setText("Wrong number:");
  74.  
  75. L7.setText("Answer times:");
  76.  
  77. B0.setText("Run");
  78.  
  79. B1.setText("Next");
  80.  
  81. B6.setText("WrongTest");
  82.  
  83. }
  84.  
  85. });

d.调试运行

e.总结

  两个人一起编程还是第一次,前期在磨合上出现了一些问题,但是也慢慢克服了。我认为开始并没有1+1>2的效果,但是磨合之后,两个人的思路就要比一个人的思路更加广泛,确实能达到大于2的效果。不过我还是喜欢一个人编程,也只是在思路上觉得有人帮助开拓一下还不错。

码市地址:https://git.coding.net/zzj201421123118/Second2.git

结对编程-四则运算生成程序-GUI界面的更多相关文章

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

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

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

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

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

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

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

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

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

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

  6. “四则运算生成程序——GUI支持和部分功能改进”链接

    项目成员:张金生     张政 <正文随笔发布在张金生博客中> 四则运算生成程序——GUI支持和部分功能改进

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

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

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

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

  9. 结对编程1 —— 基于GUI和Swing的四则运算题目生成器

    合作伙伴 201421123102 王艳秋 201421123106 陈 雄 代码地址 题目描述 我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序.进一步,本次要求把这个程序做成GUI( ...

随机推荐

  1. python--DenyHttp项目(1)--GUI:tkinter☞ module 'tkinter' has no attribute 'messagebox'

    AttributeError: module 'tkinter' has no attribute 'messagebox' improt tkinter from tkinter import * ...

  2. vue指令v-text示例解析

    <div id="app"> <!--两种方式都是插值,输出结果一样--> <p v-text="msg"></p&g ...

  3. [Scoi2014]方伯伯的玉米田 二维树状数组+动态规划

    考试最后半个小时才做这道题.十分钟写了个暴力还写挂了..最后默默输出n.菜鸡一只. 这道题比较好看出来是动规.首先我们要明确一点.因为能拔高长度任意的一段区域,所以如果从i开始拔高,那么一直拔高到n比 ...

  4. 普通程序员如何入门AI

    毫无疑问,人工智能是目前整个互联网领域最火的行业,随着AlphaGo战胜世界围棋冠军,以及各种无人驾驶.智能家居项目的布道,人们已经意识到了AI就是下一个风口.当然,程序员是我见过对于新技术最敏感的一 ...

  5. UVa 10934 Dropping water balloons:dp(递推)

    题目链接:https://vjudge.net/problem/27377/origin 题意: 有一栋n层高的楼,并给你k个水球.在一定高度及以上将水球扔下,水球会摔破:在这个高度以下扔,水球不会摔 ...

  6. macvlan 网络隔离和连通 - 每天5分钟玩转 Docker 容器技术(57)

    上一节我们创建了两个 macvlan 并部署了容器,网络结构如下: 本节验证 macvlan 之间的连通性. bbox1 能 ping 通 bbox3,bbox2 能 ping 通 bbox4.即:同 ...

  7. WEB测试常见BUG

    翻页 翻页时,没有加载数据为空,第二页数据没有请求 翻页时,重复请求第一页的数据 翻页时,没有图片的内容有时候会引用有图片的内容       2.图片数据为空 图片数据为空时,会保留为空的图片数据位置 ...

  8. JsonArray和JsonObject遍历方法

    一:遍历JsonArray String str = "[{name:'a',value:'aa'},{name:'b',value:'bb'},{name:'c',value:'cc'}, ...

  9. new 、 delete 、 malloc 、 free 关系

    1.new . delete . malloc . free 关系 delete 会调用对象的析构函数 , 和 new 对应, free 只会释放内存, new 调用构造函数. malloc 与 fr ...

  10. 让Win10显示系统中隐藏的文件夹

    让Win10显示系统中隐藏的文件夹.. ------------------------- -----------------------