• 软工网络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.结对照片


  • 相关阅读:
    CSS3嵌入web字体与布局
    Hbase 技术细节笔记(下)
    Hbase 技术细节笔记(上)
    全排列算法(递归和字典)
    一分钟掌握位运算符—与(&)、非(~)、或(|)、异或(^)
    MySQL中count函数使用方法详解
    ZAB协议与Paxos算法
    泊松分酒(穷举法)
    hadoop解决Could not locate executable nullinwinutils.exe in the Hadoop binaries.问题
    Redis系列八:redis主从复制和哨兵
  • 原文地址:https://www.cnblogs.com/zhaoMing3/p/8645188.html
Copyright © 2020-2023  润新知