糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 定义图书类Book(有四个属性) 图书馆Library类(一个hashset集合 可增加新书 查看

定义图书类Book(有四个属性) 图书馆Library类(一个hashset集合 可增加新书 查看

时间:2020-02-16 15:26:10

相关推荐

定义图书类Book(有四个属性) 图书馆Library类(一个hashset集合 可增加新书 查看

/**

* 定义图书类Book,具有属性账号id,书名name、作者author 和价格price,

在创建图书对象时要求通过构造器进行创建,一次性将四个属性全部赋值,

要求账户属性是int型,名称是String型,作者是String型,价格是double,

请合理进行封装。

2)在Book类,添加toString方法,要求返回 图书信息字符串,使用\t隔开各信息

3)要求定义一个图书馆Library类,在图书馆类中添加一个HashSet集合用于保存多本图书

4)在图书馆类中要求能够新增图书

5)在图书馆类中要求可以查看所有添加过的图书

6)不允许添加重复的图书(如果账号id和书名name相同,则认为两本书是相同的)

效果:

请输入图书编号:

1

请输入图书名称:

致青春

请输入图书作者:

王小五

请输入图书价格:

120

是否继续输入:y

请输入图书编号:

2

请输入图书名称:

西游记

请输入图书作者:

吴承恩

请输入图书价格:

230

是否继续输入:n

查看图书

1,致青春,王小五,120

2,西游记,吴承恩,230

* @author King_long

*

*/

package CollectionDemo;import java.util.ArrayList;import java.util.Collections;import java.util.HashSet;import java.util.Iterator;import java.util.Scanner;public class Library{public static void main(String[] args) {// TODO Auto-generated method stubaddTS();}//添加public static void addTS() {HashSet<Book> hashSet=new HashSet<>();Scanner scanner=new Scanner(System.in);do {System.out.println("请输入账号id:");int id=scanner.nextInt();System.out.println("请输入图书名称:");String bookName=scanner.next();System.out.println("请输入作者:");String author=scanner.next();System.out.println("请输入图书价格:");double price=scanner.nextDouble();hashSet.add(new Book(id, bookName, author, price));System.out.println("是否继续,请输入(y/n):");String string=scanner.next();if ("y".equals(string)) {System.out.println(hashSet);}else {System.out.println("查看图书");break;}}while(true);ArrayList<Book> arrayList=new ArrayList<>(hashSet);Collections.sort(arrayList);Iterator<Book> iterator = arrayList.iterator();while (iterator.hasNext()) {Book book = (Book) iterator.next();System.out.println(book);}}}

package CollectionDemo;public class Book implements Comparable<Book>{private int id;private String bookName;private String author;private double price;public Book() {super();}public Book(int id, String bookName, String author, double price) {super();this.id = id;this.bookName = bookName;this.author = author;this.price = price;}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + ((bookName == null) ? 0 : bookName.hashCode());result = prime * result + id;return result;}public int getId() {return id;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;Book other = (Book) obj;if (bookName == null) {if (other.bookName != null)return false;} else if (!bookName.equals(other.bookName))return false;if (id != other.id)return false;return true;}@Overridepublic String toString() {return "Book [id=" + id +"\t" + bookName + "\t" + author +"\t" + price + "]";}@Overridepublic int compareTo(Book o) {// TODO Auto-generated method stubreturn this.getId()-o.getId();}}

定义图书类Book(有四个属性) 图书馆Library类(一个hashset集合 可增加新书 查看添加的书)........详细题目可看内容

如果觉得《定义图书类Book(有四个属性) 图书馆Library类(一个hashset集合 可增加新书 查看》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。