week2-结对编程【网页实现四则运算】

题目描述:

不知道大家是否尝试过这样一种开发模式:你有一个伙伴,你们坐在一起,并肩作战,面对着同一台显示器,使用着同一键盘,同一个鼠标,你们一起思考,一起分析,一起编程?这次,就让我们来体验一下结对编程的魅力:

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

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

林俊鹏(本人):

      1. 页面的设计和编程,后端java程序;
林凯(队友)

      1. 页面的设计和编程;


 码云链接

 

 

 

 

 

代码展示:

    String question;
    String answer;
    
    public String getQuestion() {
        return question;
    }

    public void setQuestion(String question) {
        this.question = question;
    }

    public String getAnswer() {
        return answer;
    }

    public void setAnswer(String answer) {
        this.answer = answer;
    }
public static Arithmetic getArithmetic(){
        
        Arithmetic arithmetic = new Arithmetic();
        int max=20;
        int min=1;
        int n;//题目数量
        char operation[]={'+','-','*','÷'};    //定义运算符号
        int operand[]={1,2,3,4};//1,2为整数和整数运算;3为整数和分数运算;4为分数和分数运算;
        Random random = new Random();

        int integer1 = random.nextInt(max)%(max-min+1) + min;
        int integer2 = random.nextInt(max)%(max-min+1) + min;
        int numerator1 = random.nextInt(max)%(max-min+1) + min;
        int denominator1 = random.nextInt(max)%(max-min+1) + min;
        int numerator2 = random.nextInt(max)%(max-min+1) + min;
        int denominator2 = random.nextInt(max)%(max-min+1) + min;
        
        char tempoperation = operation[random.nextInt(4)%(4)];
        int  tempoperand = operand[random.nextInt(4)%(4)];
        String question ="";
        String answer = "";
        if(tempoperand == 1 || tempoperand == 2){//整数和整数
            
            question = integer1+""+tempoperation+integer2+"=";
            answer = oper2(tempoperation,integer1,integer2);
        } 
        if(tempoperand == 3){    //整数和分数
            question = integer1+""+ tempoperation + numerator1+"/"+denominator1+"=";
            answer = oper1(tempoperation,integer1,numerator1,denominator1);
        }
        if(tempoperand == 4){    //分数和分数
            question = numerator1+"/"+denominator1 + "" + tempoperation + numerator2+"/"+denominator2+"=";
            answer = oper3(tempoperation,numerator1,denominator1,numerator2,denominator2);
        }
        arithmetic.question=question;
        arithmetic.answer = answer;
        return arithmetic;
}

代码规范

尽量使用eclipse中的Ctrl+Shift+F;

 

展示PSP

 

 

 

PSP2.1

Personal Software Process Stages

Time (min)

Time (min)

Planning

计划

60

70

Development

开发

50

60

Analysis

需求分析 (包括学习新技术)

10

30

Coding Standard

代码规范

10

20

Design

具体设计

10

20

Coding

具体编码

40

80

Test

测试(自我测试,修改代码,提交修改)

10

10

Reporting

报告

10

20

 

总结:

由于第一次的作业使用了C++ 编程,所以这次的任务花了很多时间在纠结如何做页面上面,C++的窗口太难写。尝试用QTCreator但是还是学不会,所以最后确定写jsp页面。
我先写了java程序后端,然后和队友讨论页面设计问题。起初设计了用户登录和注册功能,由于编程水平受限,最后很多的设想没有实现。尽管程序很简单,但是开发过程中我和我的队友还是遇到了很多困难。
整体上,我们实现功能要求中的两个功能:计时功能和提示用户正确或者错误的功能。我和队友花了很多时间在页面设计和编程语法上面,因为编程的能力不足,所以这一过程让人很痛苦,课余的时间不多,
所以一直下来都让我很有压迫感。但是团队最后还是完成任务,稍微有点欣慰。

 

posted @ 2017-03-14 12:54  LinJunp  阅读(201)  评论(4编辑  收藏  举报