java作业-使用集合实现书籍管理系统

使用集合实现书籍管理系统

1.创建书籍实体类(书籍编号,书籍名称,书籍借阅状态,书籍借阅次数)
2.创建多本书籍存储在集合中
3.在书籍管理系统中显示菜单:

1)查看所有书籍
2)借阅书籍
3)归还书籍
4)退出系统

输入对应的编号进入特定功能模块,并实现各模块功能

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

class look_Book{
	//定义书籍名称
	private String bookname;
	
	//借书状态
	private int bookstate;
	
	//借出的次数
	private int bookcount;
	
	//用相同的下标来存对应的图书信息
	//初始化数据
	public look_Book() {
		super();
	}
	public  look_Book(String bookname,int bookstate,int bookcount) {
		super();
		this.bookcount=bookcount;
		this.bookname=bookname;
		this.bookstate=bookstate;
	}
	//获取书的名称
	public void setbookname(String bookname) {
		this.bookname=bookname;
	}
	public String getbookname() {
		return bookname;
	}
	//获取书的借阅状态
	public void setbookstate(int bookstate) {
		this.bookstate=bookstate;
	}
	public int getbookstate() {
		return bookstate;
	}
	//获取书的数量
	public void setbookcount(int bookcount) {
		this.bookcount=bookcount;
	}
	public int getbookcount() {
		return bookcount;
	}

	
}
public class MQLBookTest {
	static Map<Integer ,look_Book> map=new HashMap<Integer,look_Book>();
	public static void init() {
		
		look_Book lb1=new look_Book("三国演义",0,10);
		look_Book lb2=new look_Book("红楼梦",1,20);
		look_Book lb3=new look_Book("传习录",0,50);
		look_Book lb4=new look_Book("资治通鉴",1,16);
		look_Book lb5=new look_Book("古文观止",1,12);
		map.put(1, lb1);
		map.put(2, lb2);
		map.put(3, lb3);
		map.put(4, lb4);
		map.put(5, lb5);
	}

	//菜单
	public static void menu() {
		System.out.println("**欢迎来到月亮图书商城管理系统**");
		System.out.println("-------------------------");
		System.out.println("*******1.查看书籍********|");
		System.out.println("*******2.借阅书籍********|");
		System.out.println("*******3.归还书籍********|");
		System.out.println("*******4.退出系统********|");
		System.out.println("-------------------------");
	}
	public static void main(String[] args) {
		//look_Book books=new look_Book();
		init();
		Scanner sc=new Scanner(System.in);
		while(true) {
		//调用菜单函数1
		menu();
		System.out.println("请输入选择:");
		int n=sc.nextInt();
		if(n==1) {
			System.out.println("图书编号\t\t图书名称\t\t图书状态\t\t借出次数");
			for(int i=1;i<=map.size();i++) {
				String state="";
				if(map.get(i).getbookstate()==1) {//1可借 0不可借
					state="可借";
				}else
					state="已借出";
				System.out.println(i+"\t\t"+map.get(i).getbookname()+"\t\t"+state+"\t\t"+map.get(i).getbookcount());
				System.out.println("*******************************************************");
			}
		}else if(n==2) {
			System.out.println("请输入你要借阅的书籍名称:");
			String name=sc.next();
			boolean flag=false;//标志位
			for(int i=1;i<=map.size();i++){
				if(name.equals(map.get(i).getbookname())){//判断书名是否正确
					flag=true;
					if(map.get(i).getbookstate()==0) {//0已借出跳出循环
						System.out.println("已借出,请下次借阅");
			
					}else{//否则状态位改变,count加一
									map.get(i).setbookcount(map.get(i).getbookcount()+1);
									map.get(i).setbookstate(0);
									System.out.println("成功借阅到《"+map.get(i).getbookname()+"》,请一个月内归还!");
								}
							}
						}if(!flag) {
							System.out.println("你输入的书名有误,请重新确认书籍名称!");
						}
					}
					else if(n==3) {
						System.out.println("请输入需要归还的书籍名称:");
						String name=sc.next();
						boolean flag=false;
						for(int i=1;i<=map.size();i++) {
							if(name.equals(map.get(i).getbookname())) {
								flag=true;
								if(map.get(i).getbookstate()==0) {
									map.get(i).setbookcount(map.get(i).getbookcount()-1);
									map.get(i).setbookstate(1);
									System.out.println("已归还书籍《"+map.get(i).getbookname()+"》,信用积分+1");
								}else {
									System.out.println("书籍处于未借出状态,请确认图书是否为本商城!");
								}
							}
						}if(!flag) {
							System.out.println("书籍输入错误");
						}
					}else if(n==4) {
						break;
					}
				}
				System.out.println("欢迎下次光临月亮图书商城");
	}
}
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Carl·杰尼龟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值