#20175201张驰 实验三 敏捷开发与XP实践
实验步骤
(一)敏捷开发与XP
一.敏捷开发与XP实践-1
①实验要求:
敏捷开发与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));
}
}
(二)
二.敏捷开发与XP实践-2
①实验要求:
在码云上把自己的学习搭档加入自己的项目中,确认搭档的项目加入自己后,下载搭档实验二的Complex代码,加入不少于三个JUnit单元测试用例,测试成功后git add .; git commit -m "自己学号 添加内容";git push;
提交搭档项目git log的截图,包含上面git commit的信息,并加上自己的学号水印信息。
②实验代码:
1.搭档码云链接:https://gitee.com/pyc-1751/chapter_1_of_java.git
2.产品代码:
public class Complex {
// 定义属性并生成getter,setter
double RealPart;
double ImagePart;
// 定义构造函数
public Complex(){
}
public Complex(double R,double I){
RealPart=R;
ImagePart=I;
}
//Override Object
public boolean equals(Complex m){
if(m.RealPart==this.RealPart&&m.ImagePart==this.ImagePart){
return true;
}
else{
return false;
}
}
public String toString(){
if (this.RealPart != 0 && this.ImagePart > 0) {
return this.RealPart + " + " + this.ImagePart + "i";
} else if (this.RealPart != 0 && this.ImagePart == 0) {
return String.valueOf(this.RealPart);
} else if (this.RealPart != 0 && this.ImagePart < 0) {
return this.RealPart + " - " + -this.ImagePart + "i";
} else if (this.RealPart == 0 && this.ImagePart != 0) {
return this.ImagePart + "i";
} else {
return "0";
}
}
// 定义公有方法:加减乘除
Complex ComplexAdd(Complex a){
return new Complex(this.RealPart + a.RealPart, this.ImagePart + a.ImagePart);
}
Complex ComplexSub(Complex a){
return new Complex(this.RealPart - a.RealPart, this.ImagePart - a.ImagePart);
}
Complex ComplexMulti(Complex a){
return new Complex(this.RealPart * a.RealPart - this.ImagePart * a.ImagePart,
this.ImagePart * a.RealPart + this.RealPart * a.ImagePart);
}
Complex ComplexDiv(Complex a){
return new Complex((this.ImagePart * a.ImagePart + this.RealPart * a.RealPart) / (a.ImagePart * a.ImagePart + a.RealPart * a.RealPart),
(this.RealPart * a.ImagePart - this.ImagePart * a.RealPart) / (a.ImagePart * a.ImagePart + a.RealPart * a.RealPart));
}
}
测试代码:
import junit.framework.TestCase;
public class ComplexTest extends TestCase {
Complex a = new Complex(1, 5);
Complex b = new Complex(2, -3);
public void testEquals() {
assertEquals(true, a.equals(a));
assertEquals(false, b.equals(a));
}
public void testToString() {
assertEquals("1.0 + 5.0i", a.toString());
assertEquals("2.0 - 3.0i", b.toString());
}
public void testComplexAdd() {
assertEquals("3.0 + 2.0i",a.ComplexAdd(b).toString());
assertEquals("4.0 - 6.0i",b.ComplexAdd(b).toString());
}
public void testComplexSub() {
assertEquals("-1.0 + 8.0i",a.ComplexSub(b).toString());
assertEquals("0",b.ComplexSub(b).toString());
}
public void testComplexMulti() {
assertEquals("-24.0 + 10.0i",a.ComplexMulti(a).toString());
assertEquals("17.0 + 7.0i",a.ComplexMulti(b).toString());
}
public void testComplexDiv() {
assertEquals("1.0",a.ComplexDiv(a).toString());
}
}
3.运行截图:
3-4重构
最新文章
- canvas事件处理机制
- linux tcl expect 安装(转)
- Droidbox恶意软件动态分析环境搭建
- asp.net 自带的缓存
- fibonacci高精度加法
- [CareerCup] 7.4 Implement Multiply Subtract and Divide 实现乘法减法和除法
- jsp有关resquest与session和application的区别和相似性
- 关于微信网页调用js-sdk相关接口注意事项目(一级域名与二级域名互相干扰!!!)
- C# 获取web.config配置文件内容
- 【Binary Tree Post order Traversal】cpp
- 通过数据库表自动生成POJO(JavaBean)对象
- (转)MyEclipse +Servlet
- JavaEE的13种核心技术
- Jndi and c3p0 in Tomcat
- 最简单也最难——如何获取到Android控件的高度
- HTTP协议篇(一):多工、数据流
- 怎样使用Secure CRT查看vcenter和esxi主机的日志文件(转)
- MySQL 1053错误 服务无法正常启动的解决方法
- pyqt5-组件
- 团队作业Beta冲刺-第三天