• 20172316 结对编程-四则运算 第二周 阶段总结


    20172316 结对编程-四则运算 第二周 阶段总结


    1.项目内容

    以结对小组形式编写代码,实现以下功能:

    1.自动生成题目

    2.题目运算(判题)

    3.支持真分数

    4.生成题目添加括号

    5.题目去重(扩展需求,加分项)

    6.文件处理(扩展需求,自行学习,加分项)


    相关过程截图

    • 最开始的代码名称十分不规范,有的使用拼音,有的使用英文,有的不知所云,其他组员第一次看见名称时不容易理解和衔接起来;

    • 出现了两个程序之间符号表示的差异,对于式子的值的计算有很大影响;


    结对评价

    唐才铭敲代码时间太长、太晚,影响正常休息和第二天的学习生活,身体是革命本钱。
    王文彬博客中“关键代码解释”和“生成题目的相关代码”重复,篇幅上占用较大,建议合并。


    关键代码解释

    下面是生成n级计算式的方案之一,解释写在代码对应位置的注释中:

    import java.util.Scanner;
    
    public class Compute2 {
        protected int a;
        String s1, str = "";
        int level;
    
        public Compute2(){
            String s1 = "", str = "";
            int level = 1;
        }
    
        public String Computing(int x){
            level = x;
            int a1 = (int) (Math.random()*100);//形成一级式,数值是0~100之间
            int a2 = (int) (Math.random()*100);//的闭开区间的整数
            int t1 = (int) (Math.random()*4);  //随机变量t1决定两数之间的符号
            switch (t1){                       //通过switch语句实现int值到字符的转换
                case 0:{
                    s1 = " + ";
                    break;
                }
                case 1:{
                    s1 = " - ";
                    break;
                }
                case 2:{
                    s1 = " * ";
                    break;
                }
                case 3:{
                    s1 = " / ";
                }
            }
            for (int i = 0; i < level - 1; i++){//循环,将一级式添加为多级
                int a = (int) (Math.random()*100);
                int t = (int) (Math.random()*4);
                String s = "";
                switch (t){
                    case 0:{
                        s = " + ";
                        break;
                    }
                    case 1:{
                        s = " - ";
                        break;
                    }
                    case 2:{
                        s = " * ";
                        break;
                    }
                    case 3:{
                        s = " / ";
                    }
                }
                str += a + s;
            }
            str += a1 + s1 + a2 + " = ";//通过这个操作在原本的一级式前
            return str;                 //加上(n-1)个“‘整数’+‘运算符’”
        }
    
        public String getStr(){         //测试时用来甄别错误的方法,可略去
            return str;
        }
    
    
    
        public void formulaXX(int x){   //实现人机交互输出对应等级要求的式子,
            String string = " ";        //参数x是输出式子的个数 
            int y;
            for (int i = 0; i < x; i++){
                Scanner scan = new Scanner(System.in);
                y = scan.nextInt();
                Compute2 com = new Compute2();
                string = "题" + (i + 1) + ": " + com.Computing(y) + "	
    ";
                System.out.println(string);
            }
        }
    
        public void setLevel(int n){    //level是式子的级数,为了适应计算和判断而创建
            level = n;
        }
        
        public int getLevel(){
            return level;
        }
        
    }
    
    
    

    遇到的困难及解决方法

    如果困难的定义是花了许多许多功夫去克服的问题,那么在这个阶段还没有遇到大的困难。


    写出项目中自己负责的部分

    1.自动生成题目


    个人贡献度划分


    码云链接


    小组结对编程照片

  • 相关阅读:
    学会用好 Visual Studio Code
    Alpha冲刺阶段博客汇总
    第二天敏捷冲刺
    第一天敏捷冲刺
    需求分析与设计
    软工网络15团队作业2——团队计划
    团队组队&灰化肥挥发会发黑
    Tomcat安装及部署
    正则表达式
    爬取腾讯疫情数据
  • 原文地址:https://www.cnblogs.com/zhaoqianchen/p/9011557.html
Copyright © 2020-2023  润新知