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. JBPM4.4_核心概念与相关API

    1. 核心概念与相关API(Service API) 1.1. 概念:Process definition, process instance ,  execution 1.1.1. Process ...

  2. python 协程(单线程中的异步调用)(转廖雪峰老师python教程)

    协程,又称微线程,纤程.英文名Coroutine. 协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用. 子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在 ...

  3. 实现Runnable接口和继承Thread类区别

    如果一个类继承Thread,则不适合资源共享.但是如果实现了Runable接口的话,则很容易的实现资源共享. 实现Runnable接口比继承Thread类所具有的优势: 1):适合多个相同的程序代码的 ...

  4. hive的初步认识与hive的本质

    Hive是什么?就从这儿开始学习.... Hive是建立在Hadoop hdfs上的数据仓库基础架构. Hive可以用来数据抽取转换加载(ETL). Hive定义了简单的类SQL查询语句,称为HQL. ...

  5. Keil MDK从未有过的详细使用讲解(转)

    这博主关于MDK 的使用的文章,写的得TM的好  TM的实用! 真心收藏! 熟悉Keil C 51的朋友对于Keil MDK上手应该比较容易,毕竟界面是很像的.但ARM内核毕竟不同于51内核,因此无论 ...

  6. php学习十四:抽象,接口和多态

    多态为面向对象编程的精华所在,js等面向过程的语言虽然可以模拟面向对象,但是毕竟模仿的永远比不上真的,所以了解而且会使用面向对象的多态是必不可少的 在了解多态之前,我们必须要了解接口,但是接口又是在抽 ...

  7. JS时间格式化函数

    Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, //month & ...

  8. 【Mysql】解决插入数据出现 Incorrect string value: '\xF0\x9F\x92\x8BTi...'错误

    背景: 用户输入的表单里边.存在 手机自带的表情,  在执行插入时候报错 Incorrect string value: '\xF0\x9F\x92\x8BTi...' 错误原因:我们在设置mysql ...

  9. MQTT的学习研究(十四) MQTT moquette 的 Callback API 消息发布订阅的实现

    在moquette-mqtt中提供了回调callback模式的发布和订阅但是在订阅之后没有发现有消息接收的方法,参看moquette-mqtt中Block,Future式的发布订阅基础是callbac ...

  10. Maven入门指南(一)

    Maven介绍: Maven是一个强大的Java项目构建工具. 什么是构建工具? 构建工具是将软件项目构建相关的过程自动化的工具.构建一个软件项目通常包含以下一个或多个过程: 生成源码(如果项目使用自 ...