20155232 5月17日课堂时间第二个提交点补充

20155232 5月17日课堂时间第二个提交点补充

  • 类定义

设计并实现一个Book类,定义义成Book.java,Book 包含书名,作者,出版社和出版日期,这些数据都要定义getter和setter。定义至少三个构造方法,接收并初始化这些数据。覆盖(Override)toString方法,返回良好的含有多行的书的描述信息。覆盖equals方法,书名,作者,出版社和出版日期完全一致才说明两本书是一样的。

创建一个测试类Bookshelf, 其中的main方法创建并更新几个Book对象。Book至少包含三本本学期教材内容。

提交测试代码和运行结果截图,加上学号水印,提交码云代码链接。

  • 由于当时在给运行打水印,于是又没有提交上。。。
    下面是运行截图:

image

image

在idea中运行没有错误后,将虚拟机的vim打开进行上传至码云。

  • Book.java的代码如下:
public class Book {

    private String name;
    private String writer;
    private String outer;
    private int date;

    public Book(String name, String writer, String outer, int date){
        this.name = name;
        this.writer = writer;
        this.outer = outer;
        this.date = date;
    }

    public Book(String name, String writer){
        this(name, writer, "人民教育出版社", 201501);
    }
    public Book(String outer, int date){
        this("密码学" ,"张三",outer, date);
    }
    public Book(){
    }
    @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 (writer != null ? !writer.equals(book.writer) : book.writer != null) return false;
        return outer != null ? outer.equals(book.outer) : book.outer == null;

    }

    @Override
    public int hashCode() {
        int result = name != null ? name.hashCode() : 0;
        result = 31 * result + (writer != null ? writer.hashCode() : 0);
        result = 31 * result + (outer != null ? outer.hashCode() : 0);
        result = 31 * result + date;
        return result;
    }

    @Override
    public String toString() {
        return "Book{" +
                "name='" + name + '\'' +
                ", writer='" + writer + '\'' +
                ", outer='" + outer + '\'' +
                ", date=" + date +
                '}';
    }


    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getWriter() {
        return writer;
    }

    public void setWriter(String writer) {
        this.writer = writer;
    }

    public String getOuter() {
        return outer;
    }

    public void setOuter(String outer) {
        this.outer = outer;
    }

    public int getDate() {
        return date;
    }

    public void setDate(int date) {
        this.date = date;
    }




}
  • 测试bookshelf.java的代码:


/**
 * Created by lishuqi on 17-5-17.
 */
public class Bookshelf {
    public static void main(String[] args){
        Book book1 = new Book();
        Book book2 = new Book("《密码学》" ,"李四");
        Book book3 = new Book("《数据结构》","张三","人民教育出版社",201501);
        Book book4 = new Book("《数据结构》","张三","人民教育出版社",201501);
        Book book5 = new Book("《数据结构》","张三","人民邮电出版社",201501);
        Book book6 = new Book("人民教育出版社", 201501);

        book1.setName("《Java程序设计》");
        book1.setWriter("王五");
        book1.setOuter("清华大学出版社");
        book1.setDate(201606);

        System.out.println("书本信息:书名:"+ book1.getName() + "作者:"
                + book1.getWriter()+ "出版社:"+book1.getOuter()+"出版年月:"+book1.getDate());

        System.out.println(book2.equals(book6));

        System.out.println(book3.equals(book4));
        System.out.print(book3.equals(book5));
    }
}
  • 码云链接

课堂实践2的码云链接

posted @ 2017-05-17 11:13  短爪爪爪  阅读(114)  评论(0编辑  收藏  举报