一、程序设计中临时变量的使用

import java.util.Arrays;
public class Array {
public static void main(String[] args) {
//定义一个数组
int arr[] = {1,2,3,4,5,6,7,8};
//打印原始数组的值
for(int i:arr){
System.out.print(i + " ");
}
System.out.println();
// 删除上面数组中的5
for(int i:arr){
if(arr[i-1]==5)
while (i < arr.length) {
arr[i - 1] = arr[i];
i++;
}
}
arr[arr.length - 1]=0;
//数组缩容
// arr = Arrays.copyOf(arr, arr.length-1);
//打印出 1 2 3 4 6 7 8 0 for(int i:arr){ System.out.print(i + " "); } System.out.println();
// 添加代码再在4后面5
for(int i:arr) {
if (arr[i - 1] == 4) {
int j = arr.length - 1;
while (j > i ) {
arr[j] = arr[j - 1];
j--;
}
arr[i] = 5;
}
}
//打印出 1 2 3 4 5 6 7 8
for(int i:arr){
System.out.print(i + " ");
}
System.out.println();
} }

二、参考单元测试提交最后三个测试用例都通过的截图,截图上要有画图加水印,输入自己的学号。

1.三种代码

伪代码:以简洁的自然语言表明设计步骤

产品代码:用以实现特定功能的程序或机器语言

测试代码:用以对产品代码进行测试的代码

21)伪代码

百分制转五分制:

如果成绩小于60,转成“不及格”

如果成绩在60与70之间,转成“及格”

如果成绩在70与80之间,转成“中等”

如果成绩在80与90之间,转成“良好”

如果成绩在90与100之间,转成“优秀”

其他,转成“错误”

2)产品代码

public class MyUtil{
public static String percentage2fivegrade(int grade){
//如果成绩小于0,转成“错误”
if ((grade < 0))
return "错误";
//如果成绩小于60,转成“不及格”
else if (grade < 60)
return "不及格";
//如果成绩在60与70之间,转成“及格”
else if (grade < 70)
return "及格";
//如果成绩在70与80之间,转成“中等”
else if (grade < 80)
return "中等";
//如果成绩在80与90之间,转成“良好”
else if (grade < 90)
return "良好";
//如果成绩在90与100之间,转成“优秀”
else if (grade < 100)
return "优秀";
//如果成绩大于100,转成“错误”
else
return "错误";
}
}

3)测试代码

public class MyUtilTest {
public static void main(String[] args) {
//测试边界情况
if(MyUtil.percentage2fivegrade(0) != "不及格")
System.out.println("test failed 1!");
else if(MyUtil.percentage2fivegrade(60) != "及格")
System.out.println("test failed 2!");
else if(MyUtil.percentage2fivegrade(70) != "中等")
System.out.println("test failed 3!");
else if(MyUtil.percentage2fivegrade(80) != "良好")
System.out.println("test failed 4!");
else if(MyUtil.percentage2fivegrade(90) != "优秀")
System.out.println("test failed 5!");
else if(MyUtil.percentage2fivegrade(100) != "优秀")
System.out.println("test failed 6!");
else
System.out.println("test passed!");
}
}

三、参考积极主动敲代码使用JUnit学习Java

以 TDD的方式研究学习StringBuffer,提交你的单元测试用例和测试通过的截图,截图要加上学号水印。

1.TDD的基本思路就是通过测试来推动整个开发的进行。而测试驱动开发技术并不只是单纯的测试工作。

需求向来就是软件开发过程中感觉最不好明确描述、易变的东西。这里说的需求不只是指用户的需求,还包括对代码的使用需求。很多开发人员最害怕的就是后期还要修改某个类或者函数的接口进行修改或者扩展,为什么会发生这样的事情就是因为这部分代码的使用需求没有很好的描述。测试驱动开发就是通过编写测试用例,先考虑代码的使用需求(包括功能、过程、接口等),而且这个描述是无二义的,可执行验证的。

通过编写这部分代码的测试用例,对其功能的分解、使用过程、接口都进行了设计。而且这种从使用角度对代码的设计通常更符合后期开发的需求。可测试的要求,对代码的内聚性的提高和复用都非常有益。因此测试驱动开发也是一种代码设计的过程。

/** 测试代码 测试驱动开发
import junit.framework.TestCase;
import org.junit.Before;
import org.junit.Test;
public class StringBufferDemo01Test extends TestCase {
StringBuffer a = new StringBuffer("StringBuffer01");//测试14个字符串
StringBuffer b = new StringBuffer("StringBuffer01StringBuffer01");//测试28个字符串
StringBuffer c = new StringBuffer("StringBuffer01StringBuffer01StringBuffer01");//测试42个字符串
@Test
public void tsetcharAt() throws Exception{
assertEquals('S',a.charAt(0));
assertEquals('B',a.charAt(6));
assertEquals('1',b.charAt(11));
}
@Test
public void testcapacity() throws Exception{
assertEquals(30,a.capacity());
assertEquals(44,b.capacity());
assertEquals(58,c.capacity());
}
@Test
public void testlength() throws Exception{
assertEquals(14,a.length());
assertEquals(28,b.length());
assertEquals(42,c.length());
}
@Test
public void testindexOf() throws Exception{
assertEquals(0,a.indexOf("Str"));
assertEquals(12,b.indexOf("01"));
assertEquals(8,c.indexOf("ff"));
}
}

五、任务:以TDD的方式开发一个复数类Complex,要求如下:

// 定义属性并生成getter,setter

double RealPart;

double ImagePart;

// 定义构造函数

public Complex()

public Complex(double R,double I)

//Override Object

public boolean equals(Object obj)

public String toString()

// 定义公有方法:加减乘除

Complex ComplexAdd(Complex a)

Complex ComplexSub(Complex a)

Complex ComplexMulti(Complex a)

Complex ComplexDiv(Complex a)

六、使用StarUML对实验二中的代码进行建模,发类图的截图,加上学号水印。

实验二《Java面向对象》实验报告的更多相关文章

  1. 20145213《Java程序设计》实验二Java面向对象程序设计实验报告

    20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O. ...

  2. 20145206《Java程序设计》实验二Java面向对象程序设计实验报告

    20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  3. 20145308刘昊阳 《Java程序设计》实验二 Java面向对象程序设计 实验报告

    20145308刘昊阳 <Java程序设计>实验二 Java面向对象程序设计 实验报告 实验名称 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面相对象三要素:封 ...

  4. 实验二Java面向对象程序设计实验报告(2)

    实验二 Java面向对象程序设计 实验概述: 课程:程序设计与数据结构 班级:1623班 姓名: 邢天岳 学号:2309 指导老师:娄老师 王老师 实验日期:2017.4.16 实验名称: Java面 ...

  5. 实验二 Java面向对象程序设计实验报告

    实验二 Java面向对象程序设计 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D原则 5.了解设计模式 实验 ...

  6. 20145326《Java程序设计》实验二Java面向对象程序设计实验报告

    20145326<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O. ...

  7. 20155217 实验二 Java面向对象程序设计 实验报告

    20155217 实验二 Java面向对象程序设计 实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模 ...

  8. 20145219 《Java程序设计》实验二 Java面向对象程序设计实验报告

    20145219 <Java程序设计>实验二 Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S. ...

  9. 20162305 实验二 Java面向对象程序设计 实验报告

    20162305 实验二 Java面向对象程序设计 实验报告 实验内容 1.初步掌握单元测试和TDD 2.理解并掌握面向对象三要素:封装.继承.多态 3.初步掌握UML建模 4.熟悉S.O.L.I.D ...

  10. 20145239杜文超 《Java程序设计》实验二 Java面向对象程序设计实验报告

    20145239 <Java程序设计>实验二 Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S. ...

随机推荐

  1. 玩转Panabit 2008 Live CD到U盘,Panabit随身行

    直接将Panabit 2008 Live CD的内容复制到U盘,即把Live CD转成U盘启动盘,U盘可写,方便保存配置.要能正常使用,必须机器支持USB启动,才能用上:但是熟悉此方法,同样可以灵活用 ...

  2. string类的简要实现

    #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #inc ...

  3. 查看ms SQL Server存储过程,函数的内容

    方法1:最简单的,右键单击要查看的存储过程,选择“修改”: 方法2: SELECT definition FROM solar.sys.sql_modules WHERE [object_id]=(O ...

  4. 汇编_指令_INC

    加1指令 INC指令功能:目标操作数+1 INC指令只有1个操作数,它将指定的操作数的内容加1,再将结果送回到该操作数.INC指令将影响SF,AF,ZF,PF,OF标志位,但是不影响CF标志位. IN ...

  5. E: Invalid operation build-depgcc(给字符界面的ubuntu安装gcc 报错

    sudo apt-get  build-depgccE: Invalid operation build-depgcc 原因是中间少了个空格, 使用如下命令即可. sudo apt-get  buil ...

  6. 0002_20190328_Centos修改系统时间

    一.   设置修改时间: 查看当前时区: [root@localhost bin]# date -R Thu, Mar :: + 2. 查看时间和日期: [root@localhost bin]# d ...

  7. jsp中 RequestDispatcher接口的两种跳转:forward()和include()

    在web程序中,经常是由多个Servlet来完成请求.RequestDispatcher接口就是为了多个Servlet之间的调整而实现的.该接口可以用httpSerbletRequest的getReq ...

  8. 转载spring restemplate

    什么是RestTemplate? RestTemplate是Spring提供的用于访问Rest服务的客户端,RestTemplate提供了多种便捷访问远程Http服务的方法,能够大大提高客户端的编写效 ...

  9. ubantu环境下fidder安装

    转自:http://www.cnblogs.com/jcli/p/4474332.html Linux(Ubuntu)环境下使用Fiddler 自己的开发环境是Ubuntu, 对于很多优秀的软件但是又 ...

  10. red ant

    Red Ant(红蚁)网络运维管理系统是IT运维管理系统,提供智能的B/S接口可视化人机界面,通过简单的操作实现全方位的网络专线.服务器.中间件.各种应 用程序.机房动力环境等监控管理,“化繁为简”, ...