Java小项目迷你图书管理系统
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小项目迷你图书管理系统的更多相关文章
- java初学小项目-酒店客房管理系统
最近初次接触JAVA,感觉之前学的C语言很有用,跟着视频做了一个小项目-酒店客房管理系统 /* 酒店客房管理系统 */ import java.util.Scanner;//通过键盘来输入命令需要的引 ...
- Java小项目--坦克大战(version1.0)
Java小项目--坦克大战<TankWar1.0> 这个小项目主要是练习j2se的基础内容和面向对象的思想.项目实现了基本的简单功能,我方一辆坦克,用上下左右键控制移动方向,按F键为发射炮 ...
- Java学习笔记三十:Java小项目之租车系统
Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...
- C项目实践--图书管理系统(3)
接下来将要实现用户管理模块的相关功能,用户管理模块的主要功能包括增加用户,查找用户以及保存用户等功能,查找用户时,如果查找成功,充许对查找到用户进行更新或删除操作.如果查找不成功,则给出相应的提示信息 ...
- C项目实践--图书管理系统(1)
1.功能需求分析 图书管理系统主要用于对大量的图书信息,包括书名.作者.出版社.出版日期.ISBN(书号)等进行增.删.改.查以及保存等操作.同时也包括对用户的管理,用户包括管理员和普通用户两种权限, ...
- C项目实践--图书管理系统(2)
前面在<<C项目实践-图书管理系统(1)>>中把系统中的三大功能模块中可能涉及到的常量,结构体及相关函数进行了声明定义,下来就来实现它们. 执行系统首先从登录到系统开始,所以首 ...
- Java小项目之:五子棋,你下棋下得过电脑吗?
Java小项目之:五子棋,你下棋下得过电脑吗? Java五子棋功能要求: 1.创建窗口和设计一个棋盘界面 2.实现鼠标点击,棋子出现,黑白棋轮流下 3.能够判断五子相连输赢 4.添加重新开始,悔棋,退 ...
- java小项目之:植物大战僵尸,这个僵尸有点冷!内附素材源码
Java小项目之:植物大战僵尸! <植物大战僵尸>是由PopCap Games开发的一款益智策略类单机游戏,于2009年5月5日发售,这款游戏可谓是无人不知无人不晓. 在我身边,上到40岁 ...
- Java小项目之:教你做个聊天系统!
Java小项目之:聊天系统 今天给大家带来的java练手小项目是一个简单的聊天室,界面简单,操作不难. 分为注册系统,登录系统和聊天系统三部分,很适合java小白练手. 完整的源码和素材请关注并私信我 ...
随机推荐
- Ubuntu 建立桌面快捷方式
非常多时候,在Ubuntu下软件能够通过命令安装.可是有时候比較方便的方法就是下载一个压缩包,解压就能够使用了. 可是每次使用都要先跳到解压文件夹.这就比較麻烦.所以能够通过创建桌面快捷方式来解决问题 ...
- Java精选笔记_其他IO流(ObjectInputStream、DataInputStream、PrintStream、标准输入输出流)
其他IO流 ObjectInputStream和ObjectOutputStream 如果希望永久将对象转为字节数据写入到硬盘上,即对象序列化,可以使用ObjectOutputStream(对象输出流 ...
- Bitmap之安卓手机壁纸的设置
MainActivity: package com.hyzhou.imagedemo; import java.io.File; import android.os.Bundle; import an ...
- Python 数据类型:列表
一.列表介绍 1. 列表可以存储一系列的值,使用中括号来定义,每个元素之间用逗号隔开,形如 ['a', 'b', 'c', 'd']2. 列表与元组的区别是:列表中的元素是可变的,元组中的元素是不可变 ...
- List转换为数组Array的方法
List<String> list = new ArrayList<String>(); list.add("str1"); list.add(" ...
- 【整理】Virtualbox中的网络类型(NAT,桥接等),网卡,IP地址等方面的设置
之前是把相关的内容,放到: [已解决]实现VirtualBox中的(Guest OS)Mac和主机(Host OS)Win7之间的文件和文件夹共享 中的,现在把关于网络配置方面内容,单独提取出来,专门 ...
- c++11——lambda表达式
lambda表达式 函数式编程的一个语法,有如下优点: (1)声明式编程风格:就地匿名定义目标函数或函数对象,不需要额外写一个命名函数或者函数对象.以更直接的方式写程序,好的可读性和可维护性. (2) ...
- MQTT协议笔记之发布流程
MQTT协议笔记之发布流程 前言 这次要讲到客户端/服务器的发布消息行为,与PUBLISH相关的消息类型,会在这里看到. PUBLISH 客户端发布消息经由服务器分发到所有对应的订阅者那里.一个订阅者 ...
- scss的安装使用
Ruby的安装 如果是Window系统,请打开:http://rubyinstaller.org/downloads/ ,下载当前稳定版本的exe文件.界面如下所示: Step(2): 接下来,在系统 ...
- c# Socket通信基础
一.IP地址操作类 1.IPAddress类 a.在该类中有一个 Parse()方法,可以把点分的十进制IP表示转化成IPAddress类,方法如下: IPAddress address = I ...