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++写了一个如下的 ...
随机推荐
- 今天开始每天一点ffmpeg知识。千里之行 。
今天开始每天一点ffmpeg知识.千里之行 .
- java接口实例
1.开发系统时,主体架构使用接口,接口构成系统的骨架2.这样就可以通过更换接口的实现类来更换系统的实现 public class printerDemo{ public static void mai ...
- java多态-优化上个实例
开闭原则:对修改是封闭的,对扩展是开放的,不要违反开闭原则. 可以使用多态解决这个问题.父类的引用变量可以引用子类是对象. 写的越是抽象,越是稳定 public class printerDemo { ...
- 【[HAOI2015]树上染色】
这道题真是非常神仙 第一眼看到题面肯定能想到状态是\(dp[i][j]\)表示\(i\)这棵子树里染了\(j\)个黑点的最大值 最大值? 什么最大值,之后就会发现这个样子完全没有办法转移 所以我们考虑 ...
- 4、Android-数据存储方案(文件存储/SharedPreferences)
简介: 任何一个应用程序都需要和数据进行交互 对于软件来说微博.QQ等都需要关系的是数据 没有数据的应用程序是一个没有灵魂的软件 而且还没有实际的用途 可以认为是单机 4.1.持久化技术的简介 数据持 ...
- 进入WinRe(windows恢复环境)
放个预览图: 方法汇总: 1. 2 . +Shift 3 ”shutdown /r /o“ 或 "bootim" 4 5 启动中强制关闭3次以上 6 狂按F8 (不同的电脑操作不 ...
- [运维笔记] Nginx编译安装
yum -y install pcre-devel.x86_64 yum -y install openssl openssl-devel.x86_64 useradd www -s /sbin/no ...
- PHP整数转小数
sprintf('%.2f',$memrow['yjrebate1']+$memrow['yjrebate2'])
- 简单说明一下JS中的函数声明存在的“先使用,后定义”
首先看一段JS代码,其中使用了两种方式声明了两个函数,分别在不同的地方调用两个函数: <script> 'use strict'; // 输出hello函数 console.log(hel ...
- MongoDB简易
一 安装 1.下载 $ brew install mongodb 2.启动 $ mongod --config /usr/local/etc/mongod.conf 3.连接 $ mongo 二 ...