package 迷你图书管理系统;

import java.util.Scanner;

public class BookMgr {

    public static void main(String[] args) {
Scanner input = new Scanner(System.in);
//数据初始化6本图书
//图书:图书的姓名,图书借阅状态,图书借阅日期,图书借阅次数
String[]names = new String[6];
int []states = new int[6];//0可借,1已借出
int []dates = new int[6];
int [] counts = new int[6]; names[0] = "白雪公主";
dates[0] = 5;
states[0] = 1;
counts[0] = 10;
names[1] = "葫芦兄弟";
dates[1] = 0;
states[1] = 0;
counts[1] = 16;
names[2] = "白雪公主2";
dates[2] = 0;
states[2] = 0;
counts[2] = 78;
//用户是否退出系统 true代表不退出,false代表退出系统。
boolean flag = true;
int num = 0;
do{
System.out.println("********欢迎使用迷你图书管理系统********");
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.print("请选择你的操作:"); int choose = input.nextInt();
switch(choose){
case 1:
//查看图书
System.out.println("\n图书信息列表-->");
System.out.println("图书序号\t图书名称\t图书状态\t借阅日期\t借阅次数");
//循环遍历所有的图书
for (int i = 0;i<names.length;i++) {
if (names[i] != null) {
String state = (states[i] == 0)?"可借阅":"已借出";
String date = (dates[i] == 0)?"":dates[i]+"日";
String count = counts[i]+"次";
System.out.println((i+1)+"\t"+names[i]+"\t"+state+"\t"+date+"\t"+count);
}else{
//遇到第一个为null的图书的名称,意味着后面的图书也为null不必循环了
break;
}
}
break;
case 2:
//新增图书
System.out.println("\n图书信息列表-->");
System.out.print("请输入新增图书名称:");
String name = input.next();
//是否能新增图书,如果货架满了(6)则无法添加false能添加true boolean flagAdd = false;
for (int i = 0;i<names.length;i++) {
if (names[i] == null) {
flagAdd = true;
names[i] = name;
System.out.println("图书《"+name+"》添加成功!");
break;
}
}
if (!flagAdd) {
System.out.println("对不起,货架已满,无法添加图书!");
}
break;
case 3:
//借阅图书
break;
case 4:
//归还图书
break;
case 5:
//删除图书
break;
case 6:
//退出系统
flag = false;
break;
default:
//输入错误的数字
flag = false;
break;
}
//如果flag== false则结束循环,跳出系统
if (flag == false) {
//跳出循环
break;
}else{
//用户不结束使用系统,代表用户想返回主菜单继续操作
System.out.println("请输入0返回");
num= input.nextInt();
}
}while(num == 0);
System.out.println("谢谢,欢迎使用!"); } }

Java小项目迷你图书管理系统的更多相关文章

  1. java初学小项目-酒店客房管理系统

    最近初次接触JAVA,感觉之前学的C语言很有用,跟着视频做了一个小项目-酒店客房管理系统 /* 酒店客房管理系统 */ import java.util.Scanner;//通过键盘来输入命令需要的引 ...

  2. Java小项目--坦克大战(version1.0)

    Java小项目--坦克大战<TankWar1.0> 这个小项目主要是练习j2se的基础内容和面向对象的思想.项目实现了基本的简单功能,我方一辆坦克,用上下左右键控制移动方向,按F键为发射炮 ...

  3. Java学习笔记三十:Java小项目之租车系统

    Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...

  4. C项目实践--图书管理系统(3)

    接下来将要实现用户管理模块的相关功能,用户管理模块的主要功能包括增加用户,查找用户以及保存用户等功能,查找用户时,如果查找成功,充许对查找到用户进行更新或删除操作.如果查找不成功,则给出相应的提示信息 ...

  5. C项目实践--图书管理系统(1)

    1.功能需求分析 图书管理系统主要用于对大量的图书信息,包括书名.作者.出版社.出版日期.ISBN(书号)等进行增.删.改.查以及保存等操作.同时也包括对用户的管理,用户包括管理员和普通用户两种权限, ...

  6. C项目实践--图书管理系统(2)

    前面在<<C项目实践-图书管理系统(1)>>中把系统中的三大功能模块中可能涉及到的常量,结构体及相关函数进行了声明定义,下来就来实现它们. 执行系统首先从登录到系统开始,所以首 ...

  7. Java小项目之:五子棋,你下棋下得过电脑吗?

    Java小项目之:五子棋,你下棋下得过电脑吗? Java五子棋功能要求: 1.创建窗口和设计一个棋盘界面 2.实现鼠标点击,棋子出现,黑白棋轮流下 3.能够判断五子相连输赢 4.添加重新开始,悔棋,退 ...

  8. java小项目之:植物大战僵尸,这个僵尸有点冷!内附素材源码

    Java小项目之:植物大战僵尸! <植物大战僵尸>是由PopCap Games开发的一款益智策略类单机游戏,于2009年5月5日发售,这款游戏可谓是无人不知无人不晓. 在我身边,上到40岁 ...

  9. Java小项目之:教你做个聊天系统!

    Java小项目之:聊天系统 今天给大家带来的java练手小项目是一个简单的聊天室,界面简单,操作不难. 分为注册系统,登录系统和聊天系统三部分,很适合java小白练手. 完整的源码和素材请关注并私信我 ...

随机推荐

  1. Java精选笔记_面向对象(包、访问控制、内存机制、垃圾回收机制)

    包 包的定义与使用 专门用来存放类的,通常功能相同的类存放在相同的包中. 包的声明只能位于Java源文件的第一行 Java语言中的常用包 java.lang:包含Java语言的核心类,如String. ...

  2. apache 图片防盗链

    RewriteEngine on RewriteCond %{HTTP_REFERER} !ot.com [NC] RewriteCond %{HTTP_REFERER} !baidu.com [NC ...

  3. shell基础篇(二)-shell变量

    1. 定义变量 1).定义变量时,变量名不加美元符号($),如: var="hello world"2).注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样.同 ...

  4. WAS的部署

    一.设置JAM参数 1.登录WAS的控制台 https://192.168.0.91:9043/ibm/console

  5. lua和C++交互的lua栈操作——以LuaTinker为例

    一. -- C++类注册函数(LuaTinker) 的lua栈操作: -- lua栈内容(执行到pop语句) 栈地址 <--执行语句 space_name[name] = t1 -- (2b8) ...

  6. Python实现自动登录/登出校园网网关

    学校校园网的网络连接有免费连接和收费连接两种类型,可想而知收费连接浏览体验更佳,比如可以访问更多的网站.之前收费地址只能开通包月服务才可使用,后来居然有了每个月60小时的免费使用收费地址的优惠.但是, ...

  7. MQTT-SN协议乱翻之简要介绍

    前言 这一段时间在翻看MQTT-SN的协议,对针对不依赖于TCP传输的MQTT协议十分感兴趣,总是再想着这货到底是怎么定义的.一系列文章皆有MQTT-SN 1.2协议所拼装组成,原文档地址: MQTT ...

  8. JS-cookie封装

    智能社学习笔记 <script type="text/javascript"> /*****设置cookie*****/ function setCookie(name ...

  9. WEB安全第二篇--用文件搞定服务器:任意文件上传、文件包含与任意目录文件遍历

    零.前言 最近做专心web安全有一段时间了,但是目测后面的活会有些复杂,涉及到更多的中间件.底层安全.漏洞研究与安全建设等越来越复杂的东东,所以在这里想写一个系列关于web安全基础以及一些讨巧的pay ...

  10. 【BZOJ1176】[Balkan2007]Mokia/【BZOJ2683】简单题 cdq分治

    [BZOJ1176][Balkan2007]Mokia Description 维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数M<=1600 ...