# 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 ...
随机推荐
- Mac sshw 使用
sshw ssh client wrapper for automatic login. install use go get go get -u github.com/yinheli/sshw/cm ...
- HttpClient简述
HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性,它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率 ...
- metasploit 渗透测试笔记(meterpreter篇)
0x01 背景 meterpreter作为后渗透模块有多种类型,并且命令由核心命令和扩展库命令组成,极大的丰富了攻击方式. 需要说明的是meterpreter在漏洞利用成功后会发送第二阶段的代码和me ...
- Linux中从oracle官网下载jdk文件不是标准的gzip格式文件问题
首先你要知道,在linux系统中,文件类型跟后缀名无关,后缀名只是为了方便识别,所以你下载的压缩包可能是tar.gz格式的,也有可能是tar.bz2或tar.xz格式,因为可能别人压缩之后不小心改错了 ...
- android--简单的电话拨号功能
方法一. 1.创建一个callphone项目 2.在string.xml文件中添加text名称的配置
- 【idea】配置node
参考: http://blog.csdn.net/stubbornaccepted/article/details/71374673 http://www.cnblogs.com/duhuo/p/42 ...
- MAC下常用命令的中文帮助文档(man) 出现错误
MacdeMacBook-Pro:Desktop mac$ tar -xf manpages-zh-1.5.2.tar.bz2 MacdeMacBook-Pro:~ root# cd /Users/m ...
- [Python 网络编程] makefile (三)
socket.makefile(mode ='r',buffering = None,*,encoding = None,errors = None,newline = None )返回一个与套接字相 ...
- ethereumjs/ethereumjs-vm-4-tests
根据代码发现还要了解的模块有: ethereumjs/merkle-patricia-tree -对应数据存储的数据结构 ethereumjs-blockchain —— 区块链 ethereumjs ...
- oracle11g之Oracle体系结构(理论基础知识)
第二章 oracle的体系结构 一.oracle体系结构概述1.实例和数据库组成完整的Oracle数据库系统数据库:一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等)实例:一组oracl ...

