• 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. Mac sshw 使用

    sshw ssh client wrapper for automatic login. install use go get go get -u github.com/yinheli/sshw/cm ...

  2. Scala高阶函数

    1.作为参数的函数 函数可以作为一个参数传入到一个方法当中去 def main(args: Array[String]): Unit = { val myFunc1 =(x:Int) =>{ x ...

  3. webkit架构

    简要的说,WebKit由三个模块组成:JavaScriptCore.WebCore 和 WebKit.WebKit作为了整个项目的名称. JavaScriptCore:是JavaScript解释器: ...

  4. BZOJ1972:[SDOI2010]猪国杀(模拟)

    Description 太长就不贴过来了 Solution 这个题是真的不难写……唯一的难度就在于理解题意上面……感觉这就是个阅读理解题啊…… 而且你三国杀玩的越多可能就越难写因为你无法理解那些猪的思 ...

  5. background-clip 实现字体渐变效果

    background-clip 实现字体渐变效果 (一)类似KTV字幕效果 @-webkit-keyframes loop{ 0%{background-position: -800px 0;} 10 ...

  6. 程序员职业规划(一篇来自"阿里Java工程师"对工作3年左右程序员的职业建议和应该掌握的职业技能)

    程序员的三个阶段(转载) 第一阶段:三年 我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人. 这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本上的内容迈向真正的 ...

  7. javascript中获取dom元素高度和宽度

    javascript中获取dom元素高度和宽度的方法如下: 网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网 ...

  8. 如何弹出WiFi提示列表。

    如果你的程序中用到了WiFi,想在没有有效WiFi的时候出现如图所示的提示该怎么做? 其实很简单, 只需要在Info.plist中添加如下Key/Value UIRequiresPersistentW ...

  9. Xcode 5.1安装插件:规范凝视生成器VVDocumenter

    类似java的多行凝视! 安装过程: 1.前往GitHub下载project文件:VVDocumenter-Xcode 2.用Xcode打开project,Command + B Build成功后,能 ...

  10. Oracle 安全性一

    创建和管理数据库用户账户 用户账户属性 用户账户拥有很多在创建账户时定义的属性.这些属性将应用于连接到账户的会话,在会话运行期间,DBA或会话可以更改其中一些属性. 用户名 身份验证方法 默认表空间 ...