• 1 测试

public class MyUtil{
public static String percentage2fivegrade(int grade){
//如果成绩小于60,转成“不及格”
if (grade < 60 && grade >=0)
return "不及格";
//如果成绩在60与70之间,转成“及格”
else if (grade < 70 && grade >=0)
return "及格";
//如果成绩在70与80之间,转成“中等”
else if (grade < 80 && grade >=0)
return "中等";
//如果成绩在80与90之间,转成“良好”
else if (grade < 90 && grade >=0)
return "良好";
//如果成绩在90与100之间,转成“优秀”
else if (grade <= 100 && grade >=0)
return "优秀";
//其他,转成“错误”
else
return "错误";
}
} import junit.framework.TestCase;
public class MyUtilTest extends TestCase {
//@Test
public void testNormal() {
assertEquals("不及格", MyUtil.percentage2fivegrade(55));
assertEquals("及格", MyUtil.percentage2fivegrade(65));
assertEquals("中等", MyUtil.percentage2fivegrade(75));
assertEquals("良好", MyUtil.percentage2fivegrade(85));
assertEquals("优秀", MyUtil.percentage2fivegrade(95));
} public void testBoundary() {
assertEquals("不及格", MyUtil.percentage2fivegrade(0));
assertEquals("及格", MyUtil.percentage2fivegrade(60));
assertEquals("中等", MyUtil.percentage2fivegrade(70));
assertEquals("良好", MyUtil.percentage2fivegrade(80));
assertEquals("优秀", MyUtil.percentage2fivegrade(90));
assertEquals("优秀", MyUtil.percentage2fivegrade(100));
} public void testException() {
assertEquals("错误", MyUtil.percentage2fivegrade(-5));
assertEquals("错误", MyUtil.percentage2fivegrade(105));
}
}

  • 2 Stringbuffer

public class StringBufferDemo{
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());
System.out.println(buffer.length());
}
} public class StringBufferDemoTest extends TestCase { StringBuffer a = new StringBuffer("StringBuffer");
StringBuffer b = new StringBuffer("StringBufferStringBuffer");
StringBuffer c = new StringBuffer("StringBufferStringBufferStringBuffer"); public void testchatAt() {
assertEquals('S',a.charAt(0));
assertEquals('f',b.charAt(20));
assertEquals('B',c.charAt(30));
} public void testcapacity() {
assertEquals(28,a.capacity());
assertEquals(40,b.capacity());
assertEquals(52,c.capacity());
} public void testindexOf() {
assertEquals(0,a.indexOf("Str"));
assertEquals(3,b.indexOf("ing"));
assertEquals(8,c.indexOf("ffe"));
} public void testlength() {
assertEquals(12,a.length());
assertEquals(24,b.length());
assertEquals(36,c.length());
}
}
  • 3 让系统支持Float类,并在MyDoc类中添加测试代码表明添加正确

abstract class Data {
abstract public void DisplayValue();
}
class Float extends Data {
float value;
Float() {
value=100;
}
public void DisplayValue(){
System.out.println (value);
}
}
// Pattern Classes
abstract class Factory {
abstract public Data CreateDataObject();
}
class FloatFactory extends Factory {
public Data CreateDataObject(){
return new Float();
}
}
//Client classes
class Document {
Data pd;
Document(Factory pf){
pd = pf.CreateDataObject();
}
public void DisplayData(){
pd.DisplayValue();
}
}
//Test class
public class MyDoc {
static Document d;
public static void main(String[] args) {
d = new Document(new FloatFactory());
d.DisplayData();
}
}

  • 4 以TDD的方式开发一个复数类Complex

public class Complex { private double RealPart;
private double ImagePart; public Complex(double R,double I){
RealPart = R;
ImagePart = I;
} double getRealPart(){
return RealPart;
}
double getImagePart(){
return ImagePart;
} void setRealPart(double R){
RealPart=R;
}
void setImagePart(double I){
ImagePart=I;
} Complex ComplexAdd(Complex a){
return new Complex(a.getRealPart()+this.getRealPart(),a.getImagePart()+this.getImagePart());
}
Complex ComplexSub(Complex a){
return new Complex(this.getRealPart()-a.getRealPart(),this.getImagePart()-a.getImagePart());
}
Complex ComplexMulti(Complex a){
return new Complex(this.getRealPart()*a.getRealPart()-this.getImagePart()*a.getImagePart(),this.getRealPart()*a.getImagePart()+this.getImagePart()*a.getRealPart());
}
Complex ComplexDiv(Complex a){
return new Complex((this.getRealPart()*a.getRealPart()+this.getImagePart()*a.getImagePart())/(a.getRealPart()*a.getRealPart()-a.getImagePart()*a.getImagePart()),(this.getImagePart()*a.getRealPart()-this.getRealPart()*a.getImagePart())/(a.getRealPart()*a.getRealPart()-a.getImagePart()*a.getImagePart()));
}
@Override
public String toString(){
String str="";
str+=this.getRealPart();
if(this.getImagePart()>=0) str+="+";
str+=this.getImagePart();
str+="i";
return str;
}
} import junit.framework.TestCase; /**
* Created by luzijie20155222 on 17-4-21.
*/
public class ComplexTest extends TestCase {
Complex a=new Complex(1,2);
Complex b=new Complex(2,1);
Complex c=new Complex(0,-1);
Complex d=new Complex(-2,-1); public void testGetRealPart() throws Exception {
assertEquals(1.0,a.getRealPart());
assertEquals(2.0,b.getRealPart());
assertEquals(0.0,c.getRealPart());
assertEquals(-2.0,d.getRealPart());
} public void testGetImagePart() throws Exception {
assertEquals(2.0,a.getImagePart());
assertEquals(1.0,b.getImagePart());
assertEquals(-1.0,c.getImagePart());
assertEquals(-1.0,d.getImagePart());
} public void testComplexAdd() throws Exception {
assertEquals("3.0+3.0i",a.ComplexAdd(b).toString());
assertEquals("2.0+0.0i",b.ComplexAdd(c).toString());
assertEquals("-2.0-2.0i",c.ComplexAdd(d).toString());
assertEquals("0.0+0.0i",b.ComplexAdd(d).toString());
} public void testComplexSub() throws Exception {
assertEquals("-1.0+1.0i",a.ComplexSub(b).toString());
assertEquals("2.0+2.0i",b.ComplexSub(c).toString());
assertEquals("2.0+0.0i",c.ComplexSub(d).toString());
assertEquals("4.0+2.0i",b.ComplexSub(d).toString());
} public void testComplexMulti() throws Exception {
assertEquals("0.0+5.0i",a.ComplexMulti(b).toString());
assertEquals("1.0-2.0i",b.ComplexMulti(c).toString());
assertEquals("-1.0+2.0i",c.ComplexMulti(d).toString());
assertEquals("-3.0-4.0i",b.ComplexMulti(d).toString());
} public void testComplexDiv() throws Exception { } }

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

20155222 2016-2017-2 《Java程序设计》实验二的更多相关文章

  1. Java程序设计 实验二 Java面向对象程序设计

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计 班级:1353  姓名:李海空  学号:20135329 成绩:             指导教师:娄嘉鹏 ...

  2. Java程序设计实验 实验五

    课程:Java程序设计实验   班级:1353  姓名:符余佳源  学号:20135321 成绩:                           指导教师:娄嘉鹏      实验日期:2015. ...

  3. 南邮JAVA程序设计实验1 综合图形界面程序设计

    南邮JAVA程序设计实验1  综合图形界面程序设计 实验目的: 学习和理解JAVA SWING中的容器,部件,布局管理器和部件事件处理方法.通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法. ...

  4. Java程序设计 实验三

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计   班级:1353       姓名:李海空  学号:20135329 成绩:             指 ...

  5. JAVA程序设计 实验一

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计 班级:1353  姓名:李海空  学号:20135329 成绩:             指导教师:娄嘉鹏 ...

  6. JAVA程序设计 实验一报告

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计 班级:1351  姓名:李畅宇  学号:20135129 成绩:             指导教师:娄嘉鹏 ...

  7. .NET程序设计实验二

    实验二  面向对象程序设计 一.实验目的 1. 理解类的定义.继承等面向对象的的基本概念: 2. 掌握C#语言定义类及其各种成员(字段,属性,方法)的方法: 3. 掌握方法覆盖的应用: 4. 掌握接口 ...

  8. Java程序设计 实验五

    实     验    报     告 课程:Java 班级: 1353    姓名:李海空   学号:20135329 成绩:              指导教师:娄嘉鹏   实验日期:2015.6. ...

  9. C++程序设计--实验二

    第二次实验主要内容是函数重载,快速排序及其模板实现,简单的user类实现. 实验结论: 一.函数重载编程练习 /*编写重载函数add(),实现对int型,double型和Complex型数据的加法.在 ...

  10. 201671010127 2016—2017—2 Java怎样解决Java程序中中文乱码的问题。

    这是本次第二次分享新手在编程中遇到的问题,相信很多Java新手和我一样,在Java编程中会遇到中文乱码的情况,下面我就给大家分享我遇到问题和解决问题的具体过程. 我先用Notepad++写了一个如下的 ...

随机推荐

  1. 【[SDOI2008]山贼集团】

    非常好的一道题 树上的状压\(dp\) 根据数据范围我们就能知道这是一道需要状压的题目 所以状态就是\(dp[i][S]\)表示在以\(i\)为根的子树里,选择的状态为\(S\)的最大收益 这个收益只 ...

  2. linux内核中socket的创建过程源码分析(总结性质)

    在漫长地分析完socket的创建源码后,发现一片浆糊,所以特此总结,我的博客中同时有另外一篇详细的源码分析,内核版本为3.9,建议在阅读本文后若还有兴趣再去看另外一篇博文.绝对不要单独看另外一篇. 一 ...

  3. 为什么我们要做三份 Webpack 配置文件

    时至今日,Webpack 已经成为前端工程必备的基础工具之一,不仅被广泛用于前端工程发布前的打包,还在开发中担当本地前端资源服务器(assets server).模块热更新(hot module re ...

  4. redis单节点集群

    一.概念 redis是一种支持Key-Value等多种数据结构的存储系统.可用于缓存.事件发布或订阅.高速队列等场景.该数据库使用ANSI C语言编写,支持网络,提供字符串.哈希.列表.队列.集合结构 ...

  5. Linux-- 查看文件 more与其它

    more 翻页查看 用法:more 文件名 nl 显示行号打印(不常用) 1.不打印空白行行号:nl -b t 文件名 类似 cat -b 文件名 2.打印所有行行号:nl -b a 文件名 类似 c ...

  6. mac终端输入python默认打开python3

    *** 1. 终端打开.bash_profile文件 ***open ~/.bash_profile *** 2. .bash_profile文件内容 ***# Setting PATH for Py ...

  7. 【OC底层】OC对象本质,如 isa, super-class

    Objective-C的本质 1.我们编写的Objective-C,底层现实都是C/C++,代码生成步骤如下:   2.在OC中的所有面向对象的实现,都是基于C/C++的数据结构实现的 3.将Obje ...

  8. Ansible常用功能

    Ansible 是近几年十分流行的DevOps工具架构什么的我就不在这里赘述了,网上一找一堆 这里写点我在ansible常用功能 1.命令串 #copy文件 #ansible host文件中的主机组 ...

  9. angular的生命周期

    什么是生命周期 生命周期函数通俗的讲就是组件创建.组件更新.组件销毁的时候会触发的一系列的方法. 当 Angular 使用构造函数新建一个组件或指令后,就会按下面的顺序在特定时刻调用这些 生命周期钩子 ...

  10. CentOS6安装各种大数据软件 第七章:Flume安装与配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...