软件工程网络15结对作业1

一、需求分析

1.题目需求

1)除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24

2)运算符为 +, ?, ×, ÷

3)并且要求能处理用户的输入,并判断对错,打分统计正确率。

4)要求能处理用户输入的真分数, 如 1/2, 5/12 等

5)使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目Myapp.exe -n 10

题目分析:

1)支持真分数和整数的运算;

2)能够判断对错,且输出正确答案;能够计算正确率并输出;

3)将程序弄成GUI;

4)可切换语言,界面支持中文简体/中文繁体/英语,用户可以选择一种;

5)计时器功能,点击开始计时时,能显示用户开始答题后的消耗时间;

2.分工

我(201521123050)和叶文柠(201521123059)一同组队,因为时间不够,代码其实挺乱的并没有进行修改和整理,只上传了一次

码云地址:https://gitee.com/xss6/java201521123050/tree/master/java050/src

博客地址:http://www.cnblogs.com/wen1234/

二、程序设计

1.思维导图

三、代码展示

计时器

private boolean isRun = false;
     private MyRunable myTimeRunable = new MyRunable();
     private class MyRunable implements Runnable{
            private int hour = 0;
            private int min = 0;
            private int sec = 0;
            private NumberFormat format = NumberFormat.getInstance();
            private String nextSecond(){
                ++sec;
                if(sec == 60) {
                    ++min;
                    sec = 0;
                }

                if(min == 60) {
                    ++hour;
                    min = 0;
                }
                return currentTime();
            }

            private String currentTime(){
                return format.format(hour)+":"+format.format(min)+":"+format.format(sec);
            }

            @Override
            public void run() {
                format.setMinimumIntegerDigits(2);
                format.setGroupingUsed(false);
                while(true) {
                    if(rootPaneCheckingEnabled) {
                        if(isRun) {
                            nextSecond();
                            jLabel4.setText(currentTime());
                        }
                    }
                    try {
                        Thread.sleep(1000);
                    }catch (InterruptedException e) {
                    }
                }
            }

        }

语言转换

JPanel contentPane;
    //创建菜单栏组件的对象
    JMenuBar jMenuBar1=new JMenuBar();//菜单条
    JMenu jMenu0=new JMenu("system");//菜单
    JMenuItem jMenuItem0=new JMenuItem("exit");//子菜单
    JMenu jMenu1=new JMenu("The text conversion");
    JMenuItem jMenuItem1=new JMenuItem("Simplified Chinese");
    JMenuItem jMenuItem2=new JMenuItem("Traditional Chinese");
    JMenuItem jMenuItem3=new JMenuItem("English");
    JMenu jMenu2=new JMenu("Help");
    JMenuItem jMenuItem4=new JMenuItem("Directions");
    JLabel jLabel1=new JLabel("Please enter the number:");
    JTextField jTextField1=new JTextField();
    JButton jButton1=new JButton("Start the topic");
    //创建构造方法
//点击文字转换下的英文
        if(e.getSource()==jMenuItem3)
        {
            //创建英文的面板对象
            MainFrameE MFE=new MainFrameE();
            this.remove(this.getRootPane());
            this.dispose();
            MFE.setVisible(true);

        }

四、程序运行展示

进入界面

输入题目数量

做题并进行

输出答案和正确率

转换语言

五、代码测试

对代码中“加、减、乘、除”进行单元测试

覆盖率测试

五、实验小结

通过两周的代码改编,终于把这次作业完成了,这次作业后深感自己编程功底不行,改得很吃力,也很头疼。不过有苦也有收获,这次结对作业也学到了一点东西重新体验了有收获的充实感。我觉得不过如何,只要肯去花时间一定会有 收获的,或多或少而已,然后加上合理的方法,一定还会有我意想不到的收获。

原文地址:https://www.cnblogs.com/wen1234/p/8647434.html

时间: 2024-10-12 09:26:34

软件工程网络15结对作业1的相关文章

软件工程网络15结对编程作业

Deadline: 2018-3-25 10:00PM,以提交至班级博客时间为准. 请在两周时间内完成结对编程练习,注意时间的合理安排. 参考来自http://www.cnblogs.com/xinz/p/7417960.html 题目要求: 1.改进现有代码 分析网络14部分现有程序代码(请选择其中一个) 个人博客地址1:http://www.cnblogs.com/weihui-01 ,源代码:https://coding.net/u/weh/p/software-testing/git 个

软件工程网络15结对编程作业(201521123062)

0.结对编程成员: 吴剑通博客地址:https://www.cnblogs.com/wjt960310/ 杨钧宇博客地址:http://www.cnblogs.com/GOB8023/ 码云地址:https://gitee.com/jmu201521123056/four_operations 源代码:https://coding.net/u/Belong033/p/java-third/git 原题目要求 http://www.cnblogs.com/happyzm/p/6472120.htm

软件工程网络15结对编程作业(201521123045)

一.结对编程成员: 郑子熙(201521123045): 陈文俊(201521123047): 二.对原有程序分析: 三.改进现有代码: 四.代码展示: 五.PSP: 六.实验小节: 原文地址:https://www.cnblogs.com/zhengizixi/p/8645259.html

软件工程网络15结对编程作业(201521123115)

结对编程 改进现有代码2 团队成员: 梁林 201521123119 码云地址:https://gitee.com/ll119 龚厦彬 201521123115 码云地址:https://gitee.com/handsomecat/events clone项目,在开发环境中运行该应用程序,修改完毕最后上传至码云,并在博客中给出链接 检查大部分主要类之间的关系,画出类图 核心代码展示 private static int GCD(int m, int n) {//最大公约数 // TODO Aut

软件工程网络15个人作业3——案例分析

第一部分:调研, 评测 1.下载并使用,描述最简单直观的个人第一次上手体验. 我选的产品是集大通APP "集大通"是我校统一通信平台,集消息推送.应用入口.组织机构.单点登录等为一体,目标是方便学校办公.服务与通信,方便师生学习.工作.生活与娱乐,成为学校信息化的入口平台,成为"智慧集大"的窗口--"微门户",同时实现移动信息化. 一开始登陆进的界面--课余生活 新闻界面 朋友圈界面 消息界面 我的->应用中心界面 我的体验:集大通APP里

软件工程网络15团队作业3——需求分析设计

需求分析 软件的最终目的是用来解决用户的某些问题,需求分析就是要理解要解决的问题,真正明确用户需求. 1.访问软件项目的真实用户(至少10个),确保软件真正体现用户的需求,为软件最终可用奠定基础. 如果是原有项目,需要对旧项目的所有信息做一个调研,通过采访以前的开发者,形成采访文档,请参考<构建之法>的大马哈鱼巡回游的过程性介绍. 用户调研方法参考<构建之法>第8章获取用户需求--用户调研 http://www.cnblogs.com/xinz/archive/2013/02/03

软件工程网络15个人作业三——案例分析

题目要求: 很多同学有误解: 软件工程课是否就是理论课? 或者是几个牛人拼命写代码,其他人打酱油的课? 要不然就是学习一个程序语言,搞一个职业培训的课? 都不对!软件工程有理论,有实践,更重要的是分析,思辨,总结.在课程中,自己组织团队写一个软件,然后分析,这样能根据切身体会来分析,很有价值,但也有可能"身在此山中",未能看清全局.而且,课程时间有限,我们也不能做很多具体的项目.因此,我们也需要从间接经验中学习,分析.别人的项目的成败同样能够给我们很多启发! 我们生活中很多时候要和软件

软件工程网络15个人作业3——案例分析(201521123044吴敏烽)

原文地址:https://www.cnblogs.com/Min21/p/8685988.html

软件工程网络15个人阅读作业2 201521123038 游舒婷

软件工程网络15个人阅读作业2 提出问题 问题1 我看了书P85这一段文字, 结对编程中有两个角色: 1.驾驶员(Driver):控制键盘输入. 2.领航员(Navigator):起到领航.提醒的作用. 这两个角色还是可以互换的. 我的疑惑是,结对编程两个人的能力不一定在同一水平线上,每个人都有自己比较擅长的地方,那么,如果两个角色可以互换,是否说明双方都要读懂对方的代码.假设,一方负责前端设计,一方负责后端开发,虽然两种技术之间有部分相关,但是这意味着两方都要了解对方的代码么? 问题2 我看了