• 软工网络15结对编程练习 ---201521123093 赵铭


    结对编程

    成员信息:
    201521123093 赵铭
    201521123103 吴雅娟
    码云地址:https://gitee.com/pair_programming/daima


    1、改进现有的代码

    原博客地址:http://www.cnblogs.com/NianQiFeng
    (原)源代码:https://coding.net/u/qwx_hh/p/java-szys/git
    原题目要求:


    2、需求分析

    • 支持中文和英文语言切换
    • 实现基本的加减乘除四则运算(包括括号)(整数与分数)
    • 能够计时计算所需的时间
    • 记录历史正确率和全部

    2.1源码分析与修正

    • 登录界面不完整,在语言选择方面没有明确的按钮或者其他的提示,直接点击字切换语言,导致用户会不了解

      改进:使用按钮切换语言并增加了标题

    3.程序设计

    • 原来的代码覆盖率

    • 修改后的代码覆盖率


      -功能图

    4.代码展示

    • 界面修改:
     jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "请选择语言:", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("宋体", 1, 18))); // NOI18N
    
            jLabel1.setText("         欢迎来到四则运算系统!");
            jLabel2.setText("所需习题数:");
            jLabel3.setText("(1-10之内)");
            
            Chinese_Button.setText("中文");   //选择中文
            Chinese_Button.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    Chinese_ButtonActionPerformed(evt);
                }
            });
            
            Engllish_Button.setText("English");  //选择英文
            Engllish_Button.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    Engllish_ButtonActionPerformed(evt);
                }
            });
    
    private void Chinese_ButtonActionPerformed(java.awt.event.ActionEvent evt) {                                               
            // TODO add your handling code here:
            jLabel1.setText("欢迎来到四则运算系统!");
            jLabel2.setText("所需习题数:");
            jLabel3.setText("(1-10之内)");
            Sure_Button.setText("确定");
            Cancel_Button.setText("取消");
            
            l=1;
        }     
        private void Engllish_ButtonActionPerformed(java.awt.event.ActionEvent evt) {                                                
            // TODO add your handling code here:
            jLabel1.setText("Welcome to the four computing system!");
            jLabel2.setText("How many questions:");
            jLabel3.setText("(between 1 and 10)");
            Sure_Button.setText("Sure");
            Cancel_Button.setText("Cancel");
            l=2;
        }        
    
    • 加括号:
    public String int_operation()   //整数计算
        {
            int result = 0;
            if(a==0)
                result=f+g;
            if(a==1)
                result=f-g;
            if(a==2)
                result=f*g;
            astr = String.valueOf( result);
            if(a==3)
            {
                if(g==0)
                {
                    astr=int_operation();
                    return astr;
                }
                else
                {
                    if(g!=0&&g!=1){
                        int d=common_divisor(f,g);  //公约数计算函数
                        f=f/d;
                        g=g/d;
                        astr = (f+"/"+g);
                    }
                    if(g==1)
                        astr=(""+f);
                }
            }
            if(a==4)   //新加的
            {
            	if(m==0){    //m==0时是减法
            		result=(f-g)*n;  
            	}
            	if(m==1){
            		result=(f+g)*n;  //m==1时是加法
            	}
            }
            return astr;
        }
    

    5.程序运行

    • 界面

    • 计算

    6.码云截图和PSP

    • 码云截图
    • PSP表格

    7.小结感受

    • 修改别人的代码真的真的真的很难受,首先要先了解他们的代码规范,每个定义是什么含义,每个函数的作用是什么,如果定义模糊的话还要去猜意思真的挺累的;所以啊,在编程的时候定义一个变量尽量让人看得懂,不然既费眼又费脑
    • 我和我的队友对这个代码简直就是一脸懵逼,对于编程基础听薄弱的人来说,更是挺吃力的,这几天看代码真的有时候都想放弃了,可是总觉得背后有好几双眼睛在盯着,硬着头皮只能上了
    • 结对编程还OK的,至少可以互相商量不知道怎么下手的还可以一起琢磨,一个人也许就原地爆炸了,两个人可以一起分担编程的“乐趣”...
    • 事实告诉我,编程基础真的很重要!!!

    8.结对照片


  • 相关阅读:
    异步编程系列第04章 编写Async方法
    异步编程系列第03章 自己写异步代码
    异步编程系列第02章 你有什么理由使用Async异步编程
    异步编程系列第01章 Async异步编程简介
    初探asp.net异步编程之await
    Sql Server 覆盖索引
    把cookie以json形式返回,用js来set cookie.(解决手机浏览器未知情况下获取不到cookie)
    redis+cookies实现session机制(解决 手机浏览器不自动回传cookies导致session不可用问题)
    把阅读当作一种人生习惯来培养
    SAS中的剔除空格函数
  • 原文地址:https://www.cnblogs.com/zhaoMing3/p/8645188.html
Copyright © 2020-2023  润新知