# 20155308 2016-2017-2《Java程序设计》课堂实践项目 5月17日
20155308 2016-2017-2《Java程序设计》课堂实践项目 5/17
本次因为git出现了问题,所以没有按时提交我的代码
问题一
在IDEA中对P145 MathTool.java 使用JUnit进行单元测试,测试用例不少于三个,要包含正常情况,边界情况。
提交测试代码和运行结果截图,加上学号水印,提交码云代码链接。
-MathTool代码:
public class MathTool {
public static int sum(int... numbers) {
int sum = 0;
for(int number : numbers){
sum += number;
}
return sum;
}
}
测试代码:
import junit.framework.TestCase;
import org.junit.Test;
import static org.junit.Assert.*;
public class MathToolTest extends TestCase {
int[] numbers1 = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int[] numbers2 = {0};
int[] numbers3 = {1,2,3,4,55};
@Test
public void testSum() {
assertEquals(55, MathTool.sum(numbers1));
assertEquals(0, MathTool.sum(numbers2));
assertEquals(65, MathTool.sum(numbers3));
}
}
代码编程中的问题
本次考察主要是注意边界值的测试,我进行了三组测试用例,分别对范围内的值和范围外的值进行了测试。
问题二
设计并实现一个Book类,定义义成Book.java,Book 包含书名,作者,出版社和出版日期,这些数据都要定义getter和setter。定义至少三个构造方法,接收并初始化这些数据。覆盖(Override)toString方法,返回良好的含有多行的书的描述信息。覆盖equals方法,书名,作者,出版社和出版日期完全一致才说明两本书是一样的。
创建一个测试类Bookshelf, 其中的main方法创建并更新几个Book对象。Book至少包含三本本学期教材内容。
Book.java
public class Book {
private String name;
private String author;
private String printer;
private int date;
public Book(String name, String author, String printer, int date) {
this.name = name;
this.author = author;
this.printer = printer;
this.date = date;
}
public Book() {
this("book","author","printer",20170517);
}
public Book(int date) {
this("book","author","printer",date);
}
public String getName() {
return name;
}
public String getAuthor() {
return author;
}
public String getPrinter() {
return printer;
}
public int getDate() {
return date;
}
public void setName(String name) {
this.name = name;
}
public void setAuthor(String author) {
this.author = author;
}
public void setPrinter(String printer) {
this.printer = printer;
}
public void setDate(int date) {
this.date = date;
}
@Override
public String toString() {
return "Book{" +
"name='" + name + '\'' +
", author='" + author + '\'' +
", printer='" + printer + '\'' +
", date=" + date +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Book book = (Book) o;
if (date != book.date) return false;
if (name != null ? !name.equals(book.name) : book.name != null) return false;
if (author != null ? !author.equals(book.author) : book.author != null) return false;
return printer != null ? printer.equals(book.printer) : book.printer == null;
}
}
- Bookshelf
public class Book {
private String name;
private String author;
private String printer;
private int date;
public Book(String name, String author, String printer, int date) {
this.name = name;
this.author = author;
this.printer = printer;
this.date = date;
}
public Book() {
this("book","author","printer",20170517);
}
public Book(int date) {
this("book","author","printer",date);
}
public String getName() {
return name;
}
public String getAuthor() {
return author;
}
public String getPrinter() {
return printer;
}
public int getDate() {
return date;
}
public void setName(String name) {
this.name = name;
}
public void setAuthor(String author) {
this.author = author;
}
public void setPrinter(String printer) {
this.printer = printer;
}
public void setDate(int date) {
this.date = date;
}
@Override
public String toString() {
return "Book{" +
"name='" + name + '\'' +
", author='" + author + '\'' +
", printer='" + printer + '\'' +
", date=" + date +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Book book = (Book) o;
if (date != book.date) return false;
if (name != null ? !name.equals(book.name) : book.name != null) return false;
if (author != null ? !author.equals(book.author) : book.author != null) return false;
return printer != null ? printer.equals(book.printer) : book.printer == null;
}
}
# 20155308 2016-2017-2《Java程序设计》课堂实践项目 5月17日的更多相关文章
- java课堂实践(5月17日)20155317 王新玮
对P145 MathTool.java 代码托管 在IDEA中,使用JUnit进行单元测试,测试用例不少于三个,要包含正常情况,边界情况.提交测试代码和运行结果截图,加上学号水印,提交码云代码链接. ...
- MyOD课堂实践(5月31日)20155318
MyOD课堂实践(5月31日)20155318 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 (码云链接) 代码 import java.io ...
- 20155308 2016-2017-2《Java程序设计》课堂实践项目
20155308 2016-2017-2<Java程序设计>课堂实践项目 在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅 ...
- 《Java 程序设计》课堂实践项目-Arrays和String单元测试
<Java 程序设计>课堂实践项目-Arrays和String单元测试 课后学习总结 目录 改变 Arrays和String单元测试实验要求 课堂实践成果 课后思考 改变 修改了博客整体布 ...
- 20155322 《Java程序设计》课堂实践项目 数据库-3-4
20155322 <Java程序设计>课堂实践项目 数据库-3-4 数据库-3 实践要求 参考教材代码完成下面的要求,提交能连接到world的截图(有学号水印),并提交代码的码云链接.查询 ...
- 20155322 《Java程序设计》课堂实践项目MyOD
20155322 <Java程序设计>课堂实践项目MyOD 实践要求 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 提交测试代码和 ...
- 《Java 程序设计》课堂实践项目-命令行参数
<Java 程序设计>课堂实践项目 课后学习总结 目录 改变 命令行参数实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改.加了 ...
- 《Java 程序设计》课堂实践项目 课后学习总结
<Java 程序设计>课堂实践项目 课后学习总结 String类的使用(sort) 目录 Linux命令(sort) 课堂实践 课后思考 学习老师的代码之后的思考:int与Integer ...
- 《Java 程序设计》课堂实践项目汇总链接
1.<Java 程序设计>课堂实践项目-命令行参数 2.<Java 程序设计>课堂实践项目-mini dc 3.<Java 程序设计>课堂实践项目-Arrays和S ...
随机推荐
- 安装visual studio2017后 首次启动出现ActivityLog.xml异常解决方法
安装visual studio2017后 首次启动出现ActivityLog.xml异常解决方法 ps:操作系统是win10 在官网下载了vs2017社区版按照教程(教程链接在文末)安装完成之后,首次 ...
- Programming Assignment 1: WordNet
编程作业一 作业链接:WordNet & Checklist 我的代码:WordNet.java & SAP.java & Outcast.java 这是第二部分的编程作业,因 ...
- 内存池-转载自IBM
[转载自IBM]讲的很好~推荐看看 6.1 自定义内存池性能优化的原理 如前所述,读者已经了解到"堆"和"栈"的区别.而在编程实践中,不可避免地要大量用到堆上的 ...
- [原]外网访问用azure虚拟机搭建的网站
1.Ubuntu+Apache+PHP的环境搭建(此处省去了mysql的步骤) 在azure上搭建上述的开发环境和在本地PC搭建是一样的步骤,具体介绍请参看这里. 2.从外网访问 注意,这一步的前提是 ...
- linux性能系列--网络
一.为啥网络监控不好做? 回答:网络是所有子系统中最难监控的了.首先是由于网络是抽象的,更重要的是许多影响网络的因素并不在我们的控制范围之内.这些因素包括,延迟.冲突.阻塞等 等.由于网络监控中, ...
- 解决Could not commit JPA transaction RollbackException: Transaction marked as rollbackOnly
项目测试发生问题,方法正常结束,但是报了 Could not commit JPA transaction; nested exception is javax.persistence.Rollbac ...
- canvas小球 时间倒计时demo-优化
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Codeforces Round #439 (Div. 2)【A、B、C、E】
Codeforces Round #439 (Div. 2) codeforces 869 A. The Artful Expedient 看不透( #include<cstdio> in ...
- php-fpm配置参数.md
Global Options pid string PID文件的位置.默认为空.默认路径放在/usr/local/php-fpm/var. error_log string 错误日志的位置.默认:安装 ...
- SOJ 1017 Power of Cryptography 库函数精度
Background Current work in cryptography involves (among other things) large prime numbers and comput ...