20155233 《Java程序设计》 实验三 敏捷开发与XP实践

实验内容

  1. XP基础
  2. XP核心实践
  3. 相关工具

实验步骤与内容

1.在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));
}
}

实验截图

实验说明

Code->Move StatementUp ,可以将整行代码向上移

Code->Move StatementDown ,可以将整行代码向下移

2.在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;

提交搭档项目git log的截图,包含上面git commit的信息,并加上自己的学号水印信息。

实验截图

实验说明

测试代码如下

   @Test

    public void testA() throws Exception{

        Complex c=new Complex();

        Complex c1=new Complex(3,5);

        Complex c2=new Complex(6,7);

        c1.Print();

        c2.Print();

        System.out.println("这两复数和为:");

        System.out.println((c.jia(c1, c2).a+"+"+c.jia(c1, c2).b+"i").toString());

        System.out.println("这两复数差为:");

        System.out.println(c.jian(c1, c2).a+"+"+c.jian(c1, c2).b+"i");

        System.out.println("这两复数乘积为:");

        System.out.println(c.cheng(c1, c2).a+"+"+c.cheng(c1,c2).b+"i");

        System.out.println("这两复数相除为:");

        System.out.println(c.chu(c1, c2).a+"+"+c.chu(c1,c2).b+"i");

    }

    @Test

    public void testB() throws Exception{

        Complex c=new Complex();

        Complex c1=new Complex(5,8);

        Complex c2=new Complex(2,3);

        c1.Print();

        c2.Print();

        System.out.println("这两复数和为:");

        System.out.println((c.jia(c1, c2).a+"+"+c.jia(c1, c2).b+"i").toString());

        System.out.println("这两复数差为:");

        System.out.println(c.jian(c1, c2).a+"+"+c.jian(c1, c2).b+"i");

        System.out.println("这两复数乘积为:");

        System.out.println(c.cheng(c1, c2).a+"+"+c.cheng(c1,c2).b+"i");

        System.out.println("这两复数相除为:");

        System.out.println(c.chu(c1, c2).a+"+"+c.chu(c1,c2).b+"i");

    }

    @Test

    public void testC() throws Exception{

        Complex c=new Complex();

        Complex c1=new Complex(6,2);

        Complex c2=new Complex(1,3);

        c1.Print();

        c2.Print();

        System.out.println("这两复数和为:");

        System.out.println((c.jia(c1, c2).a+"+"+c.jia(c1, c2).b+"i").toString());

        System.out.println("这两复数差为:");

        System.out.println(c.jian(c1, c2).a+"+"+c.jian(c1, c2).b+"i");

        System.out.println("这两复数乘积为:");

        System.out.println(c.cheng(c1, c2).a+"+"+c.cheng(c1,c2).b+"i");

        System.out.println("这两复数相除为:");

        System.out.println(c.chu(c1, c2).a+"+"+c.chu(c1,c2).b+"i");

    }
@Test public void testD() throws Exception{ Complex c=new Complex(); Complex c1=new Complex(5,2); Complex c2=new Complex(1,3); c1.Print(); c2.Print(); System.out.println("这两复数和为:"); System.out.println((c.jia(c1, c2).a+"+"+c.jia(c1, c2).b+"i").toString()); System.out.println("这两复数差为:"); System.out.println(c.jian(c1, c2).a+"+"+c.jian(c1, c2).b+"i"); System.out.println("这两复数乘积为:"); System.out.println(c.cheng(c1, c2).a+"+"+c.cheng(c1,c2).b+"i"); System.out.println("这两复数相除为:"); System.out.println(c.chu(c1, c2).a+"+"+c.chu(c1,c2).b+"i");

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

实验截图

实验说明

对课本九九乘法表进行重构,重构后代码

public class NineNineTable{//改变主函数名称,增加可读性
public static void main(String[] args){
for(int line=1;line<10;line++){//将99乘法表完整打印进行重构
for(int arrange=1;arrange<=line;arrange++){//改变行列变量名
System.out.printf("%d*%d=%2d ",arrange,line,arrange*line);
}
System.out.println();
}
}
}

4.以结对的方式完成Java密码学相关内容的学习,结合重构,git,代码标准。提交学习成果码云链接和代表性成果截图,要有学号水印。

实验截图

实验说明

结合搭档,我们对Java对称加密-DES算法进行了研究,成果见以上截图

PSP(Personal Software Process)时间:

步骤 耗时 百分比
需求分析 10min 3.6%
设计 20min 7.1%
代码实现 180min 64.3%
测试 40min 14.3%
分析总结 30min 10.7%

最新文章

  1. TCPIP、Http、Socket的协议~ 写得挺形象,赞
  2. IP首部校验和的计算
  3. Unity3D 动画回调方法
  4. 获取android控件的高度
  5. 虚拟化平台cloudstack(2)——安装(上)
  6. Hibernate各种主键生成策略与配置详解
  7. 剑指offer题目51-60
  8. Hibernate 多对一关系中,在多的一方进行数据的插入
  9. iOS 启动连续闪退保护方案
  10. curl 解析
  11. CSS3中轻松实现渐变效果
  12. 微信小程序框架集合
  13. css3动画的简单学习
  14. OWA (Office Web Access)
  15. Quartz.NET-2.3.3 各种 数据库配置 类别大全
  16. Html dom 赋值
  17. [PHP] 重回基础(date函数和strtotime函数)
  18. 多线程并发容器CopyOnWriteArrayList
  19. mysql中LIKE和REGEXP
  20. RMAN备份时报“ORA-19504: failed to create file”和“ORA-27038: created file already exists”

热门文章

  1. [T-ARA][TIAMO]
  2. 【转】深入浅出 iOS 之生命周期
  3. 使用zepto实现QQ消息左滑删除效果
  4. Java虚拟机14:类加载器
  5. 在Django中使用Q()对象
  6. Python - if-else 的多种简洁写法
  7. 【原创】纯CSS画黄金梅丽号!
  8. JDK(二)JDK1.8源码分析【排序】timsort
  9. web测试--数据分层测试
  10. unordered_map 遇到 vector subscript out of range 的错误提示