要求:创建Book图书类: 图书编号 名称 作者 价格
创建图书测试类:先创建5本图书, 遍历图书
有如下4个功能:1. 增加 2. 查询(根据图书编号,图书名称) 3. 修改(根据编号修改其他属性) 4. 退出
Book类:
package library;
public class Book {
private int id;
private String name;
private String editor;
private double price;
public Book() {
super();
// TODO Auto-generated constructor stub
}
public Book(int id, String name, String editor, double price) {
super();
this.id = id;
this.name = name;
this.editor = editor;
this.price = price;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEditor() {
return editor;
}
public void setEditor(String editor) {
this.editor = editor;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
@Override
public String toString() {
return "Book [id=" + id + ", name=" + name + ", editor=" + editor + ", price=" + price + "]";
}
}
BookTest类:
package library;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class BookTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
Set<Book> set = new HashSet<>();
set.add(new Book(001,"《天龙八部》","金庸",36.78));
set.add(new Book(002,"《晚熟的人》","莫言",46.99));
set.add(new Book(003,"《白夜行》","东野圭吾",35.79));
set.add(new Book(004,"《三体》 ","刘慈欣",39.99));
set.add(new Book(005,"《斗罗大陆》","唐家三少",38.69));
printf(set);
while(true) {
System.out.println("1. 增加图书 2. 查询(图书编号/图书名称) 3. 修改图书属性 4. 退出");
System.out.println("********************************************************************");
switch(sc.nextInt()) {
case 1:{
System.out.println("请输入图书编号:");
int id = sc.nextInt();
System.out.println("请输入图书名称:");
String bookName = sc.next();
System.out.println("请输入作者:");
String editor = sc.next();
System.out.println("请输入图书价格:");
double price = sc.nextDouble();
set.add(new Book(id,bookName,editor,price));
printf(set);
break;
}
case 2:{
System.out.println("请输入图书编号/图书名称");
String s = sc.next();
boolean isHas = false;
if(s.matches("\\d+")) {
int id = Integer.parseInt(s);
for(Book b:set) {
if(b.getId()==id) {
isHas = true;
System.out.println(b);
break;
}
}
if(!isHas) {
System.out.println("查无此书");
}
}
else {
for(Book b:set) {
if(b.getName().equals(s)) {
isHas = true;
System.out.println(b);
break;
}
}
if(!isHas) {
System.out.println("查无此书");
}
}
break;
}
case 3:{
System.out.println("请输入你想修改图书的编号:");
int id = sc.nextInt();
for(Book b:set) {
if(b.getId()==id) {
System.out.println("1. 修改图书名字 2. 修改图书作者 3. 修改图书价格");
switch(sc.nextInt()) {
case 1:{
String name = sc.next();
b.setName(name);
System.out.println("****************修改后的图书*******************"+"\n"+b);
break;
}
case 2:{
String editor = sc.next();
b.setEditor(editor);
System.out.println("****************修改后的图书*******************"+"\n"+b);
break;
}
case 3:{
double price = sc.nextDouble();
b.setPrice(price);
System.out.println("****************修改后的图书*******************"+"\n"+b);
break;
}
}
break;
}
}
}
case 4:System.exit(0);
}
}
}
public static void printf(Set<Book> set) {
System.out.println("编号\t书名\t\t\t作者\t\t价格");
for(Book s:set) {
System.out.println(s.getId()+"\t"+s.getName()+"\t\t"+s.getEditor()+"\t\t"+s.getPrice());
}
}
}