20175312 2018-2019-2 《Java程序设计》第6周课下选做——类定义

设计思路

1.我觉得Book其实就是一个中转的作用,由测试类Bookself通过Book输入数据,然后在验证通过后再取出。

2.在Book.java中储存测试类中输入的数据,然后验证信息是否一样,一样则输出,否则就返回false。

测试代码

  • Bookself.java

public class Bookself {

public static void main(String[] args) {

    Book book1 = new Book("Java学习笔记", "zzz", "p", 2016);
Book book2 = new Book("汇编", "xxx", "h", 2016);
Book book3 = new Book("数据结构与算法", "www", "k", 2015); System.out.println(book1.toString());
System.out.println(book2.toString());
System.out.println(book3.toString());
}

}

  • Book.java

class Book {

String name, editor, publisher;

int date;

public Book(String name, String editor, String publisher, int date) {
this.name = name;
this.editor = editor;
this.publisher = publisher;
this.date = date;
} public void setName() {
this.name = name;
} public void setEditor(String editor) {
this.editor = editor;
} public void setPublisher(String publisher) {
this.publisher = publisher;
} public void setDate(int date) {
this.date = date;
} public String getName() {
return this.name;
} public String getEditor() {
return this.editor;
} public String getPublisher() {
return this.publisher;
} public int getDate() {
return this.date;
} public String toString() {
return "Book [书名=" + name + ", 作者=" + editor + ", 出版社=" + publisher + ", 出版日期=" + date + "]";
} public boolean equals(Object obj) {
if (!(obj instanceof Book)) {
return false;
}
Book book = (Book) obj;
if (!getName().equals(book.getName())) {
return false;
}
if (!getEditor().equals(book.getEditor())) {
return false;
}
if (!getPublisher().equals(book.getPublisher())) {
return false;
}
if (!(getDate() == book.getDate())) {
return false;
}
return true;
}

}

运行结果截图

码云链接

20175312 2018-2019-2 《Java程序设计》第6周课下选做——类定义的更多相关文章

  1. 20165234 《Java程序设计》第二周课下作业

    1. 教材代码完成情况测试P14 把100改为自己的后四位学号,编译运行Kernighan.java 代码的功能是从给定一个数字,实现从1依次加到此数的和. 如下是我用命令行实现代码的编译与运行. 2 ...

  2. 20175305张天钰 《java程序设计》第四周课下测试总结

    第四周课下测试总结 错题 某方法在父类的访问权限是public,则子类重写时级别可以是protected. A .true B .false 正确答案:B 解析:书P122:子类不允许降低方法的访问权 ...

  3. 20172328 2018—2019《Java软件结构与数据结构》第二周学习总结

    20172328 2018-2019<Java软件结构与数据结构>第二周学习总结 概述 Generalization 本周学习了第三章集合概述--栈和第四章链式结构--栈.主要讨论了集合以 ...

  4. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  5. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  6. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  7. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  8. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  9. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

随机推荐

  1. 截取字段split

    172.0.0.1String[] splitAddress=qip.split("\\.");//--172001 String ip=splitAddress[0]+" ...

  2. Java注解--笔记

    @Override标签的作用@Override是伪代码,所以是可写可不写的.它表示方法重写,写上会给我们带来好处. 1.可以当注释用,方便阅读. 2.告诉阅读你代码的人,这是方法的复写. 3.编译器可 ...

  3. Redis Keys的通用操作

    keys * 显示所有key 127.0.0.1:6379> keys * 1) "sort1" 2) "l2" 3) "set2" ...

  4. redis基础2

  5. spring batch (二) 元数据表

    内容来自<Spring Batch 批处理框架>,作者:刘相. 一.spring batch 框架进行元数据管理共有六张表,三张SEQUENCE用来分配主键的,九张表分别是: BATCH_ ...

  6. 一个简单小技巧实现手机访问.html文件网页效果

    注册登录Github不解释 settings设置往下拉 选择一个主题上传代码文件到code 打开这个文件选择此时的网址 在网址前面加上 这段代码 http://htmlpreview.github.i ...

  7. it入门之:学会使用Git 分布式版本控制工具

    环境:window 工具:git & TortoiseGit 下载安装以及配置环境变量 :略略略 创建Github账户:登录https://github.com/用自己的常用邮箱创建账户,用来 ...

  8. Linux内核开发进阶书籍推荐(不适合初学者)

    Linux内核开发进阶书籍推荐(不适合初学者) 很早之前就想写一篇文章总结一下Linux Kernel开发的相关资料,项目的原因,再加上家里的一些事情,一直没能找到闲暇,今天终于有些时间,希望可以完成 ...

  9. 灵雀云受邀加入VMware 创新网络,共同助力企业数字化进程

        11月15日,在VMware主办的“VMware创新网络”2018高峰论坛上,VMware发布了VMware创新网络(VMwareInnovation Network,VIN)的长期发展规划和 ...

  10. 使用Redux DevTools浏览器插件调试redux

    与redux的Devtools模块不同,该工具主要依赖浏览器插件完成.模式也比Devtools简单点. step1 下载插件 Chrome地址(360极速模式也可以用): https://chrome ...