结对编程练习

改进现有代码

我选择的代码是
我的博客地址5:http://www.cnblogs.com/NianQiFeng ,源代码:https://git.coding.net/qwx_hh/java-szys.gitjava

黄腾龙 201521123112 码云地址:https://gitee.com/Java_goddess
李心宇 201521123117 码云地址:https://gitee.com/lxxy/events
重构
clone项目,在开发环境中运行该应用程序,修改完毕最后上传至码云,并在博客中给出连接git

检查大部分主要类之间的关系,画出类图编程

代码规范:app

Arithmetic类         //

    astr            返回答案字符串

    qstr            返回问题字符串

    int_operation()     整数计算函数

     fra_operation()        分数计算函数

    common_divisor(int m,int n)

    公约数计算函数

    toString()      输出函数

    Frame类              //

    hs          实例化History

    hh          实例化QA_List

    timer           实例化Work_Time

    Time            计时器动态窗口

    answer1~10      输入窗口

    Review          复习按钮

    question1~10        题目显示标签

    Right_answer1~10    正确答案显示标签

    Tip1~10         提示正确与否标签

    Time_cost       所花时间显示标签

    Right_percent       正确率显示标签

    Set_question        开始按钮

    jLabel5         历史正确题数

    jLabel7         历史总题数

    rn          单次正确题数

    tot         单次总题数

    Frame()         Frame构造函数

    initComponents()    窗体显示

    xxxClicked(KeyEvent evt)    

    点击事件

    KeyPressed(JLabel i,JLabel j,JLabel l,int x,JTextField k)

    点击事件批量处理函数

    Hide()          使不须要的输入窗口关闭

    Tip(String answer,int i)提示对错并计入


    Histroy类            //

    qstr            问题字符串

    astr            答案字符串

    str         答案+问题字符串(写入文件)

    str2            正确题数+总题数字符串(写入文件)

    tot         总题数

    rn          正确题数

    qstrlist        问题字符串列(读入文件)

    astrlist        答案字符串列(读入文件)

    scan(String qstr,String astr)

    qstr+" "+astr

    scan2(int tot,int rn)

    tot+" "+rn

    Histroy_create()    历史文档生成

    Histroy_save()      存储历史题目与答案

    Histroy_saveNum()   存储历史题目数目

    Histroy_read()      读入历史题目与答案

    History_num()       读入历史题目数目



    QA_List类            //

    i           加入列题目个数

    Qusetion        问题字符串列

    Answer          答案字符串列

    QA_List()       QA_List构造函数

    Test_Number类

    i           显示Test_Number窗体次数

    l           语言转化参数标识

    Cancel_Button       取消按钮

    Sure_Button     肯定按钮

    English         英文界面标签

    Simplified_Chinese  简体中文界面标签

    Traditional_Chinese 繁体中文界面标签

    Number          所需题数

    Test_Number()       Test_Number构造函数

    initComponents()    Test_Number窗体显示

    xxxClicked(KeyEvent evt)    

    点击事件



    Test类               //

    main(String[] args) 



    Work_Time类          //

    x           00:00.x

    y           00:y.00

    z           z:00.00

部分代码展现ide

Time            //计时器
    public class Frame extends JFrame{
static double rn=0;
public static Histroy hs = new Histroy();
Timer timer = new Timer();
public static QA_List hh = new QA_List();
    double tot=hh.i;
    public List<JTextField> Field_list=new ArrayList<JTextField>();
public Frame() {
    super("Myapp");
    hs.Histroy_create();
    initComponents();
    if(Test_Number.l==1){
        Set_qusetion.setText("開始");
        jLabel2.setText("計時:");
        jLabel1.setText("正確率:");
        jLabel3.setText("用時:");
        Review.setText("複習");
        jLabel4.setText("正確:");
        jLabel6.setText("所有:");
    }
    if(Test_Number.l==2){
        Set_qusetion.setText("Start");
        jLabel2.setText("Timing:");
        jLabel1.setText("Correct rate:");
        jLabel3.setText("Time cost:");
        Review.setText("Review");
        jLabel4.setText("Right:");
        jLabel6.setText("All:");
    }
    jLabel7.setText(""+hs.tot);
    jLabel5.setText(""+hs.rn);
    }    

    Tip                    //正确错误提示输出
     public String Tip (String answer,int i) {
    if(answer.equals(hh.Answer.get(i)))
    {
        rn++;
        if(Test_Number.l==1){
            return "(≧▽≦)正確";
        }
        if(Test_Number.l==2){
            return "(≧▽≦)right";
        }
        return "(≧▽≦)正确";
    }
    else
    {
        hs.scan(hh.Answer.get(i),hh.Qusetion.get(i) );
        hs.Histroy_save();
        if(Test_Number.l==1){
            return "(>﹏<)錯誤";
        }
        if(Test_Number.l==2){
            return "(>﹏<)wrong";
        }
        return "(>﹏<)错误";
    }

    Arithmetic            //三个数字的运算和括号
    public void Calculate(String formula) {                //计算
Scanner in = new Scanner(formula);
while (in.hasNextLine()) {
String s = in.nextLine();
try {
    List<Object> list = trans(s);
Stack<Double> result = new Stack<Double>();
double res = f(list, result);
astr=res+"";
System.out.println(astr);
} catch (Exception e) {
System.out.println("非法表达");
    }
    }
}

运行测试函数

讨论图片学习

代码覆盖率测试测试

PSP.net

小结感觉:结对编程真的可以带来1+1>2的效果吗?经过此次结对编程,请谈谈你的感觉和体会。
与以前不同的学习方式,在大腿的带领下收获了不少,不过仍是遇到了许多问题,但愿之后能愈来愈好,学到愈来愈多3d

相关文章
相关标签/搜索