20175208 实验三《敏捷开发与XP实践》_实验报告

20175208 实验三 敏捷开发与XP实践

实验报告封面:

课程:Java程序设计  班级:1752班  姓名:张家华 学号:20175208

指导教师:娄嘉鹏 实验日期:2019年4月28日

实验序号:实验三

实验名称:敏捷开发与XP实践

实验内容:
1.XP基础
2.XP核心实践
3.相关工具

实验要求:

- 没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程

- 完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等)。报告可以参考范飞龙老师的指导

- 严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施。

实验目的

  • 一、安装alibaba 插件,解决代码中的规范问题。在IDEA中使用工具并研究一下Code菜单,选出自己觉得最好用的一个。

  • 二、在码云上把自己的学习搭档加入自己的项目中,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试并上传代码至码云

  • 三、下载搭档的代码,完成重构内容的练习。

  • 四、结合重构,git,代码标准,以结对的方式完成Java密码学相关内容的学习。

任务要求:

实验三 敏捷开发与XP实践 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA
参考 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));
}
}

任务一:

代码:

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));
}
}

结果:

20175208 实验三《敏捷开发与XP实践》_实验报告

任务二:

在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例

代码:

import junit.framework.TestCase;
import org.junit.Test;

public class StringBufferDemoTest extends TestCase {
StringBuffer a = new StringBuffer("StringBuffer");
//测试12个字符
StringBuffer b = new StringBuffer("StringBufferStringBuffer");
//测试24个字符
StringBuffer c = new StringBuffer("StringBufferStringBufferStringBuffer");
//测试36个字符
StringBuffer d = new StringBuffer("StringBufferStringBufferStringBufferStr");
//试39个字符
@Test
public void testcharAt() {
assertEquals('S',a.charAt(0));
assertEquals('e',b.charAt(10));
assertEquals('f',c.charAt(20));
assertEquals('B',d.charAt(30));
}
@Test
public void testcapacity() {
assertEquals(28,a.capacity());
assertEquals(40,b.capacity());
assertEquals(52,c.capacity());
assertEquals(55,d.capacity());
}
@Test
public void testindexOf() {
assertEquals(0,a.indexOf("Str"));
assertEquals(3,b.indexOf("ing"));
assertEquals(6,c.indexOf("Buffer"));
assertEquals(8,d.indexOf("ff"));
}
@Test
public void testlength() {
assertEquals(12,a.length());
assertEquals(24,b.length());
assertEquals(36,c.length());
assertEquals(39,d.length());
}

}

import junit.framework.TestCase;
import org.junit.Test;

public class StringBufferDemoTest extends TestCase {
StringBuffer a = new StringBuffer("StringBuffer");
//测试12个字符
StringBuffer b = new StringBuffer("StringBufferStringBuffer");
//测试24个字符
StringBuffer c = new StringBuffer("StringBufferStringBufferStringBuffer");
//测试36个字符
StringBuffer d = new StringBuffer("StringBufferStringBufferStringBufferStr");
//试39个字符
@Test
public void testcharAt() {
assertEquals('S',a.charAt(0));
assertEquals('e',b.charAt(10));
assertEquals('f',c.charAt(20));
assertEquals('B',d.charAt(30));
}
@Test
public void testcapacity() {
assertEquals(28,a.capacity());
assertEquals(40,b.capacity());
assertEquals(52,c.capacity());
assertEquals(55,d.capacity());
}
@Test
public void testindexOf() {
assertEquals(0,a.indexOf("Str"));
assertEquals(3,b.indexOf("ing"));
assertEquals(6,c.indexOf("Buffer"));
assertEquals(8,d.indexOf("ff"));
}
@Test
public void testlength() {
assertEquals(12,a.length());
assertEquals(24,b.length());
assertEquals(36,c.length());
assertEquals(39,d.length());
}

}

结果:

 20175208 实验三《敏捷开发与XP实践》_实验报告

20175208 实验三《敏捷开发与XP实践》_实验报告

任务三:

代码:

import java.util.Random;
import java.util.Scanner;
public class szys {
public static void res(){
System.out.println("1.显示结果 2.直接开始下一题");
}
public static void main (String[] arge){
System.out.println("*****请选择要随机生成的算法*****");
System.out.println(" 1,加法 2,减法 3,乘法 4,除法");
System.out.println("**********");
Scanner sc=new Scanner(System.in

);
int s = sc.nextInt();
double result=0;
Random r = new Random();
int a = r.nextInt(100);
int b =r.nextInt(100);
switch(s){
case 1:System.out.println("-----|"+a+"+"+b+"=?|-----");result =a+b;res();break;
case 2:System.out.println("-----|"+a+"-"+b+"=?|-----");result =a-b;res();break;
case 3:System.out.println("-----|"+a+"*"+b+"=?|-----");result =a*b;res();break;
case 4:System.out.println("-----|"+a+"/"+b+"=?|-----");{float c=a;float d=b;result=c/d;}res();break;
default:System.out.println("输入有误,重新开始");main(null);break;
}
Scanner select =new Scanner(System.in

);
int se =select.nextInt();
switch (se){
case 1:System.out.println("本题的结果:"+result);main(null);break;
case 2:main(null);break;
default:System.out.println("输入有误,重新开始");main(null);
}
}

20175208 实验三《敏捷开发与XP实践》_实验报告

20175208 实验三《敏捷开发与XP实践》_实验报告

任务四:

代码:

import java.util.Scanner;

public class Test {
public static void main(String[] args) {
System.out.print("请输入明文:");
Scanner a=new Scanner(System.in);
String b=a.nextLine();
System.out.print("请输入秘钥:");
Scanner c=new Scanner(System.in);
int key=c.nextInt();
Encrypt(b, key);
}

public static void Encrypt(String str,int k){
String s="";
for (int i = 0; i < str.length(); i++) {
char c=str.charAt(i);
if(c>='a'&&c<='z'){
c+=k%26;
if(c<'a')
c+=26;
if(c>'z')
c-=26;

}else if(c>='A'&&c<='Z'){
c+=k%26;
if(c<'A')
c+=26;
if(c>'Z')
c-=26;
}
s+=c;
}
System.out.println(str+" 加密为: "+s);
}
}

import java.util.Scanner;

public class Test2 {
public static void main(String[] args) {
System.out.print("请输入密文:");
Scanner a=new Scanner(System.in);
String b=a.nextLine();
System.out.print("请输入秘钥:");
Scanner c=new Scanner(System.in);
int key=c.nextInt();
Decrypt(b, key);
}

public static void Decrypt(String str,int k){
String s="";
for (int i = 0; i < str.length(); i++) {
char c=str.charAt(i);
if(c>='a'&&c<='z'){
c-=k%26;
if(c<'a')
c+=26;
if(c>'z')
c-=26;

}else if(c>='A'&&c<='Z'){
c-=k%26;
if(c<'A')
c+=26;
if(c>'Z')
c-=26;
}
s+=c;
}
System.out.println(str+" 解密为: "+s);
}
}

 20175208 实验三《敏捷开发与XP实践》_实验报告

码云连接:https://gitee.com/zhangjiahua20175208/codes/d8ac3zxlju7wr1o05ysvg77

 实验感想:这次实验做得还算顺利,在应用Java各方面的语法上更顺手了。