【Java作业】图书管理系统

要求:创建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());
		}
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值