• 20165321 实验三 敏捷开发与XP实践


    任务1:

    要求:

      参考 http://www.cnblogs.com/rocedu/p/6371315.html#SECCODESTANDARD 安装alibaba 插件,解决代码中的规范问题。
      在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能。提交截图,加上自己学号水印。
    public class CodeStandard {
    public static void main(String [] args){
    StringBuffer buffer = new StringBuffer();
    buffer.append('S');
    buffer.append("tringBuffer");
    System.out.println(buffer.charAt(1));
    System.out.println(buffer.capacity());
    System.out.println(buffer.indexOf("tring"));
    System.out.println("buffer = " + buffer.toString());
    if(buffer.capacity()<20)
    buffer.append("1234567");
    for(int i=0; i<buffer.length();i++)
    System.out.println(buffer.charAt(i));
    }
    }

    截图:




    任务2:

    要求:

      在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;
      提交搭档项目git log的截图,包含上面git commit的信息,并加上自己的学号水印信息。

    截图:


    任务3:

    要求:

      完成重构内容的练习,下载搭档的代码,至少进行三项重构,提交重构后代码的截图,加上自己的学号水印。提交搭档的码云项目链接。

    解答:

    类名的重构

    由于代码中没有需要封装的,所以Refactor中的Encapsulate Field...显示是灰色的无法被点击的状态。

    搭档码云项目链接

    java-besti-is-hcj

    任务4:

    要求:

      参考 http://www.cnblogs.com/rocedu/p/6683948.html,以结对的方式完成Java密码学相关内容的学习,结合重构,git,代码标准。
      提交学习成果码云链接和代表性成果截图,要有学号水印。

    解答:

    Java密码学程序

    import java.util.*;
    public class Lfsr {
        public static void main(String[] args) {
            System.out.println("请输入移位寄存器的级数n:");
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            System.out.println("请设置初态:");
            int[] a = new int[n];//状态数
            int  sum=1;
            for (int i = 0; i < n; i++) {
                a[i] = sc.nextInt();
                sum=2*sum;
            }
            System.out.println("请输入结构常数:");//形如[c1,c2,c3,c4,c5]
            int[] c = new int[n];//存储的为反馈函数,与反馈函数的对应规律为:若结构常数为[0,1,0,1],则反馈函数为
            for (int i = n-1; i >= 0; i--) {
                c[i] = sc.nextInt();
            }
            System.out.println("线性移位寄存器输出序列为:");
            for (int i = 0; i <sum-1; i++) {
                System.out.printf("%d", a[0]);
                operate1(a, c, n);
            }
            System.out.println(" ");
            System.out.println("对偶移位寄存器输出序列为:");
            for(int i=0;i<sum-1;i++) {
                System.out.printf("%d",a[0]);
                operate2(a,c,n);
            }
        }
        private static int[] operate2(int[] a, int[] c, int n) {
            int temp=a[0];
            for(int i=0;i<n-1;i++) {
                a[i]=a[i+1];
            }
            a[n-1]=0;
            if(temp==1) {
                for(int j=0;j<n;j++) {
                    a[j]=(a[j]+c[n-j-1])%2;
                }
            }
            return a;
        }
        private static int[] operate1(int[] a, int[] c, int n) {
            int temp=0;
            for (int i = 0; i < n; i++) {
                if (a[i] * c[i] == 1) {
                    temp += 1;
                }
            }
            a[n - 1] %= 2;
            for (int j = 0; j < n - 1; j++) {
                a[j] = a[j + 1];
            }
            a[n-1]=temp;
            return a;
        }
    }
    
    

    截图


    实验感想

      在本次实验中,我与搭档先分别完成了各自的前3个内容,然后合力攻克最后一个任务。我认为只要两个人通力合作,就能完成比较困难的任务。

  • 相关阅读:
    关于页面的已终止操作
    Assembly Manifest 通俗简易手册
    C# Enumeration 使用
    打架必备!擒敌拳116动连贯动作 分解动作
    解决js中onMouseOut事件冒泡的问题
    DOM标准与IE的html元素事件模型区别
    vim编辑器
    linux常用的命令解释
    搭建本地仓库
    Linux系统虚拟机安装
  • 原文地址:https://www.cnblogs.com/xpl20165321/p/8955216.html
Copyright © 2020-2023  润新知