package com.test.library.newlib;

import java.util.Scanner;

public class LibrarySystem {

private static Scanner in = new Scanner(System.in);

private static int choice;// 用户的选择

// 显示主菜单的方法

public static void menu() {

System.out.println("***************图书馆管理系统*****************");

System.out.println("\t1.增加图书\t\t2.删除图书");

System.out.println("\t3.修改图书\t\t4.单个查询图书");

System.out.println("\t5.查询所有图书\t6.借书");

// System.out.println("\t\t7.还书\t\t8.查询借书情况");

System.out.println("\t7.还书\t\t8.查询借书情况");

System.out.println("\t9.增加会员\t\t10.查询会员");

System.out.println("\t11.删除会员\t12.退出系统");

/*

* System.out.println("1.增加图书"); System.out.println("2.删除图书");

* System.out.println("3.修改图书"); System.out.println("4.单个查询图书");

* System.out.println("5.查询所有图书"); System.out.println("6.借书");

* System.out.println("7.还书"); System.out.println("8.查询借书情况");

*/

// System.out.println("9.退出系统");

System.out.println("*****************************************");

System.out.println("请选择(1-12):");

choice = in.nextInt();

}

public static void main(String[] args) {

Library lib = new Library();

String bid;// 图书的编号

String sid;// 会员学号

Students s = null; // 会员对象

LibrarySystem.menu();

// 用while循环来控制程序跳转流程

while (choice != 12) {

switch (choice) {

case 1:// 增加图书

// 判断会员

System.out.println("请输入会员学号");

sid = in.next();

// 判断学号是否存在

if (lib.queryStudentsBySid(sid) != null) {

System.out.println("请输入图书的信息:根据提示(b0002-西游记-吴承恩-北京出版社-50)");

String input = in.next();

lib.addBooks(input);

} else {

System.out.println("此生不存在!");

}

break;

case 2:// 删除图书

System.out.println("请输入会员学号");

sid = in.next();

// 判断学号是否存在

if (lib.queryStudentsBySid(sid) != null) {

// 封装成会员,好进行删除操作

s = lib.queryStudentsBySid(sid);

System.out.println("请输入要删除的图书id");

bid = in.next();

if (lib.findById(bid) != null) {

// 对应要删除的图书

Books b = lib.findById(bid);

// 要删除的图书信息展示

System.out.println("您要删除的图书信息显示如下:");

System.out.println(b);

// 删除图书方法

lib.removeBooks(bid);

} else {

System.out.println("要删除的图书不存在!");

}

} else {

System.out.println("不存在该生");

}

break;

case 3:// 修改图书

// 判断会员

System.out.println("请输入会员学号");

sid = in.next();

// 判断学号是否存在

if (lib.queryStudentsBySid(sid) != null) {

// 单个查询图书信息

System.out.println("请输入要修改的图书id");

bid = in.next();

Books b = lib.findById(bid);

System.out.println("图书信息如下");

System.out.println(b);

System.out.println("请输入修改后的图书信息:根据提示(b0002-西游记-吴承恩-北京出版社-50)");

String input = in.next();

lib.modifyBooks(bid, input);

} else {

System.out.println("这个会员不存在!");

}

break;

case 4:

// 按图书编号查找图书

System.out.println("请输入图书的编号:");

bid = in.next();

// 查询有无此书

if (lib.findById(bid) != null) {

// 封装此书

Books b = lib.findById(bid);

// 输出书的内容――自动调用toString方法

System.out.println(b);

} else {

System.out.println("图书不存在!");

}

break;

case 5:

// 查询所有图书

lib.queryAllBooks();

break;

case 6:// 借书

System.out.println("请输入会员的学号:");

sid = in.next();

// 判断会员存在――权限

if (lib.queryStudentsBySid(sid) != null) {

s = lib.queryStudentsBySid(sid);

System.out.println("请输入图书编号:");

bid = in.next();

if (lib.findById(bid) != null) {

Books b = lib.findById(bid);

System.out.println(b);

// 借书开始

lib.lendBooks(b, s);

} else {

System.out.println("图书不存在!");

}

} else {

System.out.println("会员不存在!");

}

break;

case 7:// 还书

System.out.println("请输入会员的学号:");

sid = in.next();

if (lib.queryStudentsBySid(sid) != null) {

s = lib.queryStudentsBySid(sid);

s.showAllLendBooks();

System.out.println("请输入图书编号:");

bid = in.next();

// 借的图书集里有此图书

if (s.getBooksByBid(bid) != null) {

// 得到对应id的图书

Books b = s.getBooksByBid(bid);

// 归还图书

lib.returnBooks(b, s);

} else {

System.out.println("您没借过该书!");

}

} else {

System.out.println("会员不存在!");

}

break;

case 8:// 查询借书情况

System.out.println("请输入会员学号:");

sid = in.next();

s = lib.queryStudentsBySid(sid);

if (s != null) {

// 展示所有已借图书

s.showAllLendBooks();

} else {

System.out.println("会员不存在!");

}

break;

case 9:// 增加会员

System.out.println("请输入会员的信息:根据提示(s0001-小张)");

sid = in.next();

lib.addUser(sid);

break;

case 10:// 查询会员

System.out.println("请输入会员的编号:");

sid = in.next();

s = lib.queryStudentsBySid(sid);

if (s != null) {

System.out.println("[会员ID:"+s.getSid()+",会员名称:"+s.getName()+"]");

} else {

System.out.println("会员不存在!");

}

break;

}

// 因为要重复显示菜单,这里采用递归调用的方法

LibrarySystem.menu();

}

System.out.println("感谢您的使用,再见!");

}

}

java图书馆登陆代码_java控制台图书馆管理系统相关推荐

  1. java console清屏_JAVA 控制台清屏 | 学步园

    看到网上有人讨论Java如何实现对控制台清屏,看到的内容不是很理想.所以把这些内容总结一下. 直观一点,先看下代码吧 import static java.lang.System.out; /** * ...

  2. java 生产者消费者代码_Java生产者和消费者代码

    java 生产者消费者代码 This also helps us to understand the concept of synchronised multi-threading in java, ...

  3. java图书馆登陆代码_图书馆系统(登录设计)

    基于MVC设计----图书馆系统(登录设计) 这一学期学习了JavaWeb开发, 课程结束时老师给的任务是做一个课程设计,博主使用MVC(jsp.servlets.javabean)开发了一个简单的图 ...

  4. java学生管理系统代码_java学生信息管理系统(附源码)

    一:   介绍 1:实现登录界面 2:实现主界面 有两种操作 一种是按钮操作  另外一种是SQL语句. 3:连接SQL server 2008 数据库 用到的软件及环境SQLserver2008,ec ...

  5. 学生系统的java代码_java学生信息管理系统源代码

    本文实例为大家分享了java学生信息管理系统的具体代码,实现学生信息: 增加 int[] a=new int[9] .删除 .查找.更改,供大家参考,具体内容如下 /*学生信息管理系统,实现学生信息: ...

  6. java cas登陆实例_Java CAS基本实现原理代码实例解析

    一.前言 了解CAS,首先要清楚JUC,那么什么是JUC呢?JUC就是java.util.concurrent包的简称.它有核心就是CAS与AQS.CAS是java.util.concurrent.a ...

  7. java控制台代码_Java控制台常用命令

    http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html javaw是java的带console版本,其他一致. h ...

  8. java 公交管理系统 代码_java公交线路管理系统

    展开全部 //写了两个小时啊,兄弟,要采纳我啊 //Site(站点类) package transit; import java.util.ArrayList; import java.util.Li ...

  9. java 档案管理 系统_java教师档案管理系统

    每天记录学习,每天会有好心情.*^_^* 今天将为大家分析一个基于web的java教师档案管理系统,采用当前非常流行的B/S体系结构,以JAVA作为开发技术,主要依赖SSM技术框架,mysql数据库建 ...

最新文章

  1. 实现Java Socket 客户端服务端交互实例
  2. 200+猫在线待撸!来pick你最爱的那只!
  3. 如何判断网通、电信、铁通IP地址分配段
  4. apache.camel_Apache Camel 2.16发布–十大亮点
  5. python tkinter小项目
  6. 人事管理系统为你解剖JSP
  7. 【概率论与数理统计】小结7 - 统计学中的基本概念
  8. 字节跳动斥巨资开发出《Python知识手册》
  9. 法兰克焊接机器人编程入门_焊接机器人编程入门与编程技巧介绍
  10. 路由器 三层交换机 网关有什么区别
  11. 饥荒联机版加入服务器显示无应答,饥荒联机版水中木更新内容汇总 8月13日更新预览[多图]...
  12. TI C66x DSP 系统events及其应用 - 1
  13. 通过预言机获取任意链下数据 - Chainlink Any API 代码解析
  14. 液晶屏UFB、STN、TFT比较
  15. NVIDIA面经整理
  16. 孩子近视了房间里用什么灯?保护视力的护眼灯
  17. 工具说明书 - 英语语法检查工具Grammarly
  18. radosgw-admin命令详细参数
  19. Jackson之ObjectMapper对象的使用
  20. Lifeograph 0.7.3发布 基于gtkmm的轻量电子日记本

热门文章

  1. 无人自动叉车常见升降故障及排除方法
  2. 电脑优化后窗口失去焦点键盘失灵解决办法
  3. 论文查重会查到知乎的内容吗?
  4. 0606算法竞赛_数学思想
  5. 解决Office 2007和Visual Studio 2008冲突不兼容的问题
  6. Elecard Stream Analyzer码流分析工具
  7. excel中文名转为英文名,姓和名的第一个字母大写,中间留空格
  8. IPLOOK荣获工信部5G核心网7大网元入网证
  9. c语言实现双链表基本功能的实验报告,C语言实现的双链表功能完整示例
  10. 【分享】java开发框架低代码平台介绍