• 四则运算结对项目升级版


    作业来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213

    GitHub地址:https://github.com/CCCCLM/CLM

    结对伙伴:刘睿智     201606120032  博客地址:https://www.cnblogs.com/LRZluck/

                    陈力铭 201606120034  博客地址:https://www.cnblogs.com/Cclm/

    一、程序基本要求

    自动生成题目,单个题目最多不能超过4个运算符,操作数小于100。

    用户可以输入答案

    若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。

    二、四个扩展方向

    用户答题结束以后,程序可以显示用户答题所用的时间

    用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数

    程序可以设置答题时间,时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题。

    程序可以设置皮肤功能,可以改变界面的颜色即可。

    用户在第一次答题时,需要用户输入用户名,用户下次启动后,程序需要记住用户前一次输入的用户名 

    三、时间记录表

    PSP2.1

    Personal Software Process Stages

    Time Senior Student(h)

    Time(h)

    Planning

    计划

    0.5

    0.5

    · Estimate

    估计这个任务需要多少时间

    10

    26

    Development

    开发

    1

    1.1

    · Analysis

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

    0.1

    0.5

    · Design Spec

    生成设计文档

    0

    0

    · Design Review

    设计复审

    0.1

    2.5

    · Coding Standard

    代码规范

    0.1

    0.1

    · Design

    具体设计

    2

    4

    · Coding

    具体编码

    10

    15

    · Code Review

    代码复审

    1

    1

    · Test

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

    1

    1.5

    Reporting

    报告

    0

    0

    Test Report

    测试报告

    0.3

    0

    ·workload

    计算工作量

    0.3

    0.5

    ·correction

    并提出过程改进计划

    0.3

    3.3

    • 四、结对过程

    • 结对照片:

    五.开发环境

      调试并编写代码

    六.结对感悟

    通过这次的结对项目让我明白了团队的力量,以前做项目很多时候都是自己一个人来搞,每次碰到解决不了的问题就只会自己烦操,但通过这次结对合作,让我在做项目的时候感觉到了一种依靠,不用自己一个人孤苦作战。然后说回项目本身,这次项目应该是比较难的一次作业了,功能也蛮多的,在要求脱离控制台这个要求上我们思考了蛮久的。在这次项目里,我们不断查阅资料不断解决bug,在这个阶段我们是学习到最多东西的一部分。

    七.具体代码

    时间+计时器

    var i =0;
        function clock(){
            i++;
            var time = new Date();
            document.getElementById("clock").value = time;
            var btn =document.getElementById("btn");
    //        btn.onclick = function(){
    //            clearInterval(t);
                document.getElementById("sumtime").value=i;
    //        }
                if(i==120){
                    clearInterval(t);
                alert("时间到,请提交答案");
            }
        }
        var t = setInterval(clock,1000);

    计算分数

    for(int i=0;i<number;i++){
        answers[i]= Integer.parseInt(request.getParameter("answer"+i));
        if(answer[i]==answers[i]){
            fenshu1=fenshu1+fengshu;
            j++;
        }
    }

    运算算法

     public int Calculation(){
            int[] numberA=numberB;
            String[] numberSymbol=SymbolNumber1;
            int answer=0;
            int h=0;
            int l=0;
            int z=0;
             for(int i=0;i<numberSymbol.length;i++){
                 if(i>=1&&z==1){
                     h=i;
                     i--;
                 }
                 if(numberSymbol[i].equals("*")){
                   answer= numberA[i]*numberA[i+1];
                   numberA[i]=answer;
                   for(int j=i;j<numberSymbol.length;j++){
                         if(j<numberSymbol.length-1){
                             numberA[j+1]=numberA[j+2];
                             numberSymbol[j]=numberSymbol[j+1];
                             numberSymbol[j+1]="a";
                         }
                     }
                     z=1;
    
                         l++;
    
                 }
                 if(numberSymbol[i].equals("/")){
                     answer=numberA[i]/numberA[i+1];
                     numberA[i]=answer;
                     for(int j=i;j<numberSymbol.length;j++){
                         if(j<numberSymbol.length-1) {
                             numberA[j + 1] = numberA[j + 2];
                             numberSymbol[j] = numberSymbol[j + 1];
                             numberSymbol[j+1]="b";
                         }
                     }
                     z=1;
                         l++;
    
                 }
                 if(h!=0) {
                     i = h;
                     h = 0;
                 }
             }
             for(int i=0;i<numberSymbol.length-l;i++){
                 if(i>=1){
                     h=i;
                     i--;
                 }
                 if(numberSymbol[i].equals("-")){
                     answer= numberA[i]-numberA[i+1];
                     numberA[i]=answer;
                     for(int j=i;j<numberSymbol.length;j++){
                         if(j<numberSymbol.length-1) {
                             numberA[j + 1] = numberA[j + 2];
                             numberSymbol[j] = numberSymbol[j + 1];
                         }
                     }
                     if(h!=0) {
                         l++;
                     }
                 }
                 if(numberSymbol[i].equals("+")){
                     answer=numberA[i]+numberA[i+1];
                     numberA[i]=answer;
                     for(int j=i;j<numberSymbol.length;j++){
                         if(j<numberSymbol.length-1) {
                             numberA[j + 1] = numberA[j + 2];
                             numberSymbol[j] = numberSymbol[j + 1];
                         }
                     }
                     if(h!=0) {
                         i++;
                     }
                 }
                 if(h!=0) {
                     i = h;
                     h=0;
                 }
             }
             return answer;
        }

    更改颜色

    function Changecolor()
            {
                document.getElementById("change").style.backgroundColor="#6610f2";
            }

    八.运行截图

  • 相关阅读:
    IDEA的JDBC报错解决
    java注解
    Java反射
    javaIO
    工程师的认知
    前端的一些性能提升
    ES6函数的扩展
    2020新年愿望
    高维护性的javascript
    Chrome Dev tools的几点小技巧
  • 原文地址:https://www.cnblogs.com/LRZluck/p/9846515.html
Copyright © 2020-2023  润新知