20155222 2016-2017-2 《Java程序设计》实验二
- 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程序设计》实验二的更多相关文章
- Java程序设计 实验二 Java面向对象程序设计
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:李海空 学号:20135329 成绩: 指导教师:娄嘉鹏 ...
- Java程序设计实验 实验五
课程:Java程序设计实验 班级:1353 姓名:符余佳源 学号:20135321 成绩: 指导教师:娄嘉鹏 实验日期:2015. ...
- 南邮JAVA程序设计实验1 综合图形界面程序设计
南邮JAVA程序设计实验1 综合图形界面程序设计 实验目的: 学习和理解JAVA SWING中的容器,部件,布局管理器和部件事件处理方法.通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法. ...
- Java程序设计 实验三
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:李海空 学号:20135329 成绩: 指 ...
- JAVA程序设计 实验一
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1353 姓名:李海空 学号:20135329 成绩: 指导教师:娄嘉鹏 ...
- JAVA程序设计 实验一报告
北京电子科技学院(BESTI) 实 验 报 告 课程:Java程序设计 班级:1351 姓名:李畅宇 学号:20135129 成绩: 指导教师:娄嘉鹏 ...
- .NET程序设计实验二
实验二 面向对象程序设计 一.实验目的 1. 理解类的定义.继承等面向对象的的基本概念: 2. 掌握C#语言定义类及其各种成员(字段,属性,方法)的方法: 3. 掌握方法覆盖的应用: 4. 掌握接口 ...
- Java程序设计 实验五
实 验 报 告 课程:Java 班级: 1353 姓名:李海空 学号:20135329 成绩: 指导教师:娄嘉鹏 实验日期:2015.6. ...
- C++程序设计--实验二
第二次实验主要内容是函数重载,快速排序及其模板实现,简单的user类实现. 实验结论: 一.函数重载编程练习 /*编写重载函数add(),实现对int型,double型和Complex型数据的加法.在 ...
- 201671010127 2016—2017—2 Java怎样解决Java程序中中文乱码的问题。
这是本次第二次分享新手在编程中遇到的问题,相信很多Java新手和我一样,在Java编程中会遇到中文乱码的情况,下面我就给大家分享我遇到问题和解决问题的具体过程. 我先用Notepad++写了一个如下的 ...
随机推荐
- TFS使用笔记
TFS是用来存储文件的服务器,放置不同版本的文件.因此文件的数量和内容因版本不同而不同. 在Fig-00中,服务器和本地的对应文件夹Common下的因版本不一致,所以文件数量是不一致的. Fig-00 ...
- php中上传图片
这里来看看php中如何上传图片的 先看代码check_image.php <html> <head> <title></title> <style ...
- Chapter 4 Left Outer Join in MapReduce
4.1 Introdution Consider a company such as Amazon, which has over 200 millions of users and possibly ...
- 015.4守护线程和join
内容:守护线程.join方法#####################守护线程通过开启线程之前调用setDaemon()方法,变成后台线程,前台线程运行完,后台线程自动会结束#########例子 c ...
- 深入理解webpack打包机制
一.单入口文件如何打包 /src/single/index.js var index2 = require('./index2'); var util = require('./util'); con ...
- 4、Android-数据存储方案(文件存储/SharedPreferences)
简介: 任何一个应用程序都需要和数据进行交互 对于软件来说微博.QQ等都需要关系的是数据 没有数据的应用程序是一个没有灵魂的软件 而且还没有实际的用途 可以认为是单机 4.1.持久化技术的简介 数据持 ...
- python之使用__future__
Python的新版本会引入一些新的功能特性,但一般一部分的新功能可以在旧版本上测试,测试成功再移植到新的版本上,旧版本可以通过导入__future__模块的某些功能,测试新版本的新功能.(注意:fut ...
- XCODE7 和IOS9适配后的一些问题
网上比较常规的几个问题就不细说了. 什么HTTPS.bitcode.什么什么的. 记录几个自己又遇到了但是网上没有说的. 启动应用报错, *** Terminating app due to unca ...
- MySQL慢查询日志分析提取【转】
原文:https://www.cnblogs.com/skymyyang/p/7239010.html 一:查询slow log的状态,如示例代码所示,则slow log已经开启. mysql> ...
- 将form表单元素的值序列化成对象
/**jQuery * 将form表单元素的值序列化成对象 * @returns object */ var serializeObject = function(form) { var o = {} ...