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日的更多相关文章

  1. java课堂实践(5月17日)20155317 王新玮

    对P145 MathTool.java 代码托管 在IDEA中,使用JUnit进行单元测试,测试用例不少于三个,要包含正常情况,边界情况.提交测试代码和运行结果截图,加上学号水印,提交码云代码链接. ...

  2. MyOD课堂实践(5月31日)20155318

    MyOD课堂实践(5月31日)20155318 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 (码云链接) 代码 import java.io ...

  3. 20155308 2016-2017-2《Java程序设计》课堂实践项目

    20155308 2016-2017-2<Java程序设计>课堂实践项目 在java.lang包中有String.split()方法,返回是一个数组 我在应用中用到一些,给大家总结一下,仅 ...

  4. 《Java 程序设计》课堂实践项目-Arrays和String单元测试

    <Java 程序设计>课堂实践项目-Arrays和String单元测试 课后学习总结 目录 改变 Arrays和String单元测试实验要求 课堂实践成果 课后思考 改变 修改了博客整体布 ...

  5. 20155322 《Java程序设计》课堂实践项目 数据库-3-4

    20155322 <Java程序设计>课堂实践项目 数据库-3-4 数据库-3 实践要求 参考教材代码完成下面的要求,提交能连接到world的截图(有学号水印),并提交代码的码云链接.查询 ...

  6. 20155322 《Java程序设计》课堂实践项目MyOD

    20155322 <Java程序设计>课堂实践项目MyOD 实践要求 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 提交测试代码和 ...

  7. 《Java 程序设计》课堂实践项目-命令行参数

    <Java 程序设计>课堂实践项目 课后学习总结 目录 改变 命令行参数实验要求 课堂实践成果 课后思考 改变 修改了博客整体布局,过去就贴个代码贴个图很草率,这次布局和内容都有修改.加了 ...

  8. 《Java 程序设计》课堂实践项目 课后学习总结

    <Java 程序设计>课堂实践项目 课后学习总结 String类的使用(sort) 目录 Linux命令(sort) 课堂实践 课后思考 学习老师的代码之后的思考:int与Integer ...

  9. 《Java 程序设计》课堂实践项目汇总链接

    1.<Java 程序设计>课堂实践项目-命令行参数 2.<Java 程序设计>课堂实践项目-mini dc 3.<Java 程序设计>课堂实践项目-Arrays和S ...

随机推荐

  1. Mac sshw 使用

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

  2. HttpClient简述

    HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性,它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率 ...

  3. metasploit 渗透测试笔记(meterpreter篇)

    0x01 背景 meterpreter作为后渗透模块有多种类型,并且命令由核心命令和扩展库命令组成,极大的丰富了攻击方式. 需要说明的是meterpreter在漏洞利用成功后会发送第二阶段的代码和me ...

  4. Linux中从oracle官网下载jdk文件不是标准的gzip格式文件问题

    首先你要知道,在linux系统中,文件类型跟后缀名无关,后缀名只是为了方便识别,所以你下载的压缩包可能是tar.gz格式的,也有可能是tar.bz2或tar.xz格式,因为可能别人压缩之后不小心改错了 ...

  5. android--简单的电话拨号功能

    方法一. 1.创建一个callphone项目 2.在string.xml文件中添加text名称的配置

  6. 【idea】配置node

    参考: http://blog.csdn.net/stubbornaccepted/article/details/71374673 http://www.cnblogs.com/duhuo/p/42 ...

  7. MAC下常用命令的中文帮助文档(man) 出现错误

    MacdeMacBook-Pro:Desktop mac$ tar -xf manpages-zh-1.5.2.tar.bz2 MacdeMacBook-Pro:~ root# cd /Users/m ...

  8. [Python 网络编程] makefile (三)

    socket.makefile(mode ='r',buffering = None,*,encoding = None,errors = None,newline = None )返回一个与套接字相 ...

  9. ethereumjs/ethereumjs-vm-4-tests

    根据代码发现还要了解的模块有: ethereumjs/merkle-patricia-tree -对应数据存储的数据结构 ethereumjs-blockchain —— 区块链 ethereumjs ...

  10. oracle11g之Oracle体系结构(理论基础知识)

    第二章 oracle的体系结构 一.oracle体系结构概述1.实例和数据库组成完整的Oracle数据库系统数据库:一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等)实例:一组oracl ...