201421123118 张中结    201421123098 胡丹丹

a.需求分析

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

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

b.功能设计

  1.支持语言的切换

  2.计时功能

  3.错题收集

思维导图:

  

c.代码展示:

错题收集并保存在本地

FileWriter fw = null;

                    try {

                    //如果文件存在,则追加内容;如果文件不存在,则创建文件

                    File f=new File("D:/cuoti.txt");

                    fw = new FileWriter(f, true);

                    }

                    catch (IOException e) {

                    e.printStackTrace();

                    }

                    PrintWriter pw = new PrintWriter(fw);

                    pw.println(L8.getText()+"="+T3.getText()+"    "+"正确答案:"+sum1 +'\n');

                    pw.flush();

                    try {

                    fw.flush();

                    pw.close();

                    fw.close();

                    } catch (IOException e) {

                    e.printStackTrace();

                    }
B6.addActionListener(new ActionListener(){//错题本打开 public void actionPerformed(ActionEvent d) { try { Runtime.getRuntime().exec("notepad.exe D:/cuoti.txt"); } catch(Exception e) { System.out.println(e.getMessage()); } } });

语言切换:

B3.addActionListener(new ActionListener(){//简体中文

            public void actionPerformed(ActionEvent e) {

                 L1.setText("题数:");

                 L2.setText("题目:");

                 L3.setText("输入答案:");

                 L4.setText("结果:");

                 L5.setText("答对题数:");

                 L6.setText("答错题数:");

                 L7.setText("答题时间:");

                 B0.setText("开始");

                 B1.setText("下一题");

                 B6.setText("错题集");

                //B2.setText("计时");

            }

        });

        B4.addActionListener(new ActionListener(){//繁体中文

            public void actionPerformed(ActionEvent e) {

                L1.setText("題數");

                L2.setText("題目:");

                 L3.setText("輸入答案:");

                 L4.setText("結果:");

                 L5.setText("答對題數:");

                 L6.setText("答錯題數:");

                 L7.setText("答題時間:");

                 B0.setText("開始");

                 B1.setText("下一題");

                 B6.setText("錯題集");

            }

        });

        B5.addActionListener(new ActionListener(){//英文

            public void actionPerformed(ActionEvent e) {

                 L1.setText("Question number");

                 L2.setText("Test:");

                 L3.setText("Enter the answer:");

                 L4.setText("Result:");

                 L5.setText("Right number:");

                 L6.setText("Wrong number:");

                 L7.setText("Answer times:");

                 B0.setText("Run");

                 B1.setText("Next");

                 B6.setText("WrongTest");

            }

        });

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. PyCharm中Directory与Python package的区别

    对于Python而言,有一点是要认识明确的,python作为一个相对而言轻量级的,易用的脚本语言(当然其功能并不仅限于此,在此只是讨论该特点),随着程序的增长,可能想要把它分成几个文件,以便逻辑更加清 ...

  2. [STL] day 1~2 Problem Set

    Q#1 #include <cmath> #include <cstdio> #include <vector> #include <iostream> ...

  3. 白话ASP.NET MVC之三:Controller是如何解析出来的

    我们在上一篇文章中介绍Controller激活系统中所涉及到的一些类型,比如有关Controller类型的相关定义类型就包括了IController类型,IAsyncController类型,Cont ...

  4. 解决:wordpress error establishing a database connection problem

    我是个网站菜鸟,刚开始搭建LAMP环境的时候,就要了我半条老命. 没办法,懂的东西太少,LAMP是什么我都不懂,域名是什么,我也被不懂,为什么想要有个网站就要有服务器我还是不懂.一步步地自己去钻,去看 ...

  5. KMP算法&next数组总结

    http://www.cnblogs.com/yjiyjige/p/3263858.html KMP算法应该是每一本<数据结构>书都会讲的,算是知名度最高的算法之一了,但很可惜,我大二那年 ...

  6. mysql按某个列执行1-N排名的问题

    对所有员工的当前(to_date='9999-01-01')薪水按照salary进行按照1-N的排名,相同salary并列且按照emp_no升序排列CREATE TABLE `salaries` (` ...

  7. IOS中的属性列表----Property List

    属性列表,是一种用来存储串行化后的对象的文件.因为扩展名为plist ,因此通常被称为 plist文件. plist文件通常用于储存用户设置,也可以用于存储捆绑的信息,其内容为xml格式.它可以在程序 ...

  8. Linux学习总结(六)—— CentOS软件包管理:源代码安装

    源代码包安装方式相对RPM/YUM安装方式较为复杂,并且安装过程更长,一般只在源码研究的时候才会使用这种方式去编译. 源码安装分为解压缩包.配置信息.编译安装三个步骤,安装地址地址一般是/usr/lo ...

  9. ffmpeg音频播放代码示例-avcodec_decode_audio4

    一.概述 最近在学习ffmpeg解码的内容,参考了官方的教程http://dranger.com/ffmpeg/tutorial03.html,结果发现这个音频解码的教程有点问题.参考了各种博客,并同 ...

  10. ARM处理器架构的Thumb指令集中关于IT指令的使用

    在ARMv6T2以及ARMv7架构扩展了Thumb指令集,其中加入了IT指令,进一步增强了代码的紧凑性. Thumb中有一个比较有意思的指令--IT,这条指令用于根据指定的条件来执行后面相继的四条指令 ...