/**
*
* @author a2643116636
* @date 2020-04-12
*/
public class book2 {
// 创建对象
book1 book = new book1();
/**
* 初始化 已有图书,借出日期,借出状态,借出次数
*/
public void tu() {
book.name[0] = "Java基础教程"; // 图书
book.date[0] = "2020-3-15"; // 借出日期
book.zhuang[0] = 1; // 借出状态
book.count[0] = 0; // 借出次数
book.name[1] = "数据库技术";
book.date[1] = " ";
book.zhuang[1] = 2;
book.count[1] = 0;
book.name[2] = "后羿射日";
book.date[2] = " ";
book.zhuang[2] = 2;
book.count[2] = 0;
}
// 主菜单
public void mune() {
Scanner input = new Scanner(System.in);
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("5.归 还 图 书");
System.out.println("6.退 出");
System.out.println("-------------------------");
System.out.println("请输入相应的编号");
int num = input.nextInt();
switch (num) { // 用户选择输出
case 1:
one();
break;
case 2:
two();
break;
case 3:
three();
break;
case 4:
four();
break;
case 5:
five();
break;
case 6:
System.out.println("系统退出,谢谢使用!");
break;
default:
System.out.println("您输入的指令有误!");
break;
}
}
// 用户输入0返回主菜单
public void zhumune() {
Scanner input = new Scanner(System.in);
System.out.println("***********************");
System.out.println("输入0返回主菜单:");
int num = input.nextInt(); // 接收用户输出,返回主菜单
if (num == 0) {
System.out.print("\n");
mune();
} else { // 输入不正确提示输入有误
System.out.println("您输入的口令有误!");
}
}
// 查看图书
public void two() {
System.out.println("===>> 查看图书\n");
System.out.println("序号\t状态\t名称\t\t 借出日期");
for (int i = 0; i < book.name.length; i++) { // 循环输出已有图书
if (book.name[i] == null) { // 如果没有图书,则循环结束
break;
} else if (book.zhuang[i] == 1) { // 如果借出状态为1,则输出已借出
System.out.println((i + 1) + "\t已借出\t" + "<<" + book.name[i] + ">>\t " + book.date[i]);
} else if (book.zhuang[i] == 2) { // 如果借出状态为2,则输出可借出
System.out.println((i + 1) + "\t可借出\t" + "<<" + book.name[i] + ">>");
}
}
zhumune();
}
// 新增图书
public void one() {
Scanner input = new Scanner(System.in);
System.out.println("===>> 新增图书\n");
System.out.println("请输入要新增图书的书名:");
String Name = input.next(); // 接收要新增的图书
for (int i = 0; i < book.name.length; i++) {
int a = i + 1;
if (book.name[i] == null) {
book.name[i] = Name;// 找下标,增加图书
book.zhuang[i] = 2;
break;
}
}
System.out.println("新增图书《" + Name + "》成功!");
zhumune();
}
// 删除图书
public void three() {
Scanner input = new Scanner(System.in);
boolean con = false;
System.out.println("===>> 删除图书\n");
System.out.println("请输入要删除的图书:");
String Name = input.next(); // 接收要删除的图书
// 查找每个元素前移一位
for (int i = 0; i < book.name.length; i++) { // 循环找出图书
if (book.name[i] != null && book.name[i].equalsIgnoreCase(Name) && book.zhuang[i] == 2) { // 图书组不能为空,有图书,图书状态为可借出时
int a = i;
while (book.name[a + 1] != null) { // 如果a的前面一个不为空
book.name[a] = book.name[a + 1];
book.zhuang[a] = book.zhuang[a + 1];
book.date[a] = book.date[a + 1];
book.count[a] = book.count[a + 1];
a++;
}
// 最后一个不是空的位置置空
book.name[i] = null;
book.date[i] = null;
System.out.println("删除图书《" + Name + "》成功!");
con = true; // 表示删成功
break;
} else if (book.name[i] != null && book.name[i].equalsIgnoreCase(Name) && book.zhuang[i] == 1) { // 图书组不能为空,有图书,图书状态为已借出时
System.out.println("该图书还在借出状态,不可删除!"); // 提醒用户还在借出状态不能删除
con = true;
break;
}
}
if (!con) {
System.out.println("没有找到该图书!");
}
zhumune();
}
// 借出图书
public void four() {
Scanner input = new Scanner(System.in);
System.out.println("===>> 借出图书\n");
System.out.println("请输入您要借出图书:");
String Name = input.next(); // 接收用户要借出的图书
for (int i = 0; i < book.name.length; i++) { // for循环查找图书
if (book.name[i] == null) { // 未找到该图书
System.out.println("未查找到该图书!");
break;
} else if (book.name[i].equals(Name) && book.zhuang[i] == 2) { // 找到该图书
book.zhuang[i] = 1;
System.out.println("请输入借出日期(年-月-日):");
book.date[i] = input.next();
System.out.println("成功借出图书《" + Name + "》");
break;
} else if (book.name[i].equals(Name) && book.zhuang[i] == 1) { // 图书已被借出
System.out.println("该图书已被借出!");
break;
}
}
zhumune();
}
// 归还图书
public void five() {
Scanner input = new Scanner(System.in);
System.out.println("===>> 归还图书\n");
long money = 0; // 租金
System.out.println("请输入归还的图书:");
String Name = input.next(); // 接收用户归还的图书
for (int i = 0; i < book.name.length; i++) { // 循环查找图书
if (book.name[i] == null) { // 未找到该图书
System.out.println("未查找到该图书!");
break;
} else if (book.name[i].equals(Name) && book.zhuang[i] == 1) { // 找到该图书
book.zhuang[i] = 1;
System.out.println("请输入归还日期(年-月-日):");
String date = input.next(); // 接收用户归还日期
money = charge(book.date[i], date); // 计算租金
System.out.println("归还图书《" + Name + "》成功!");
System.out.println("借出日期为:" + book.date[i]);
System.out.println("归还日期为:" + date);
System.out.println("应付租金:" + money);
book.count[i] = book.count[i] + 1; // 计入借出次数
break;
} else if (book.name[i].equals(Name) && book.zhuang[i] == 2) { // 图书未被借出
System.out.println("该图书还未被借出!无法进行归还!");
break;
}
}
zhumune();
}
/**
* 计算日期差 a1为借出日期 a2为归还日期
*
* 字符串转为日期的两部: 1.定义时间格式 2.转换日期
*
* getTime():时间跨度,用毫秒表示,1秒=1000毫秒
*/
private long charge(String string, String date) {
long charge = 0;
SimpleDateFormat a = new SimpleDateFormat("yyyy-MM-dd");
try {
Date a1 = a.parse(string);
Date a2 = a.parse(date);
charge = (a2.getTime() - a1.getTime()) / (24 * 60 * 60 * 1000);
} catch (ParseException b) {
b.printStackTrace();
}
return charge;
}
public static void main(String[] args) {
book2 a = new book2();
a.tu();
a.mune();
}
}
java基础,菜单切换,查看图书,新增删除图书,借出归还图书,图书管理系统
猜你喜欢
转载自blog.csdn.net/a2643116636/article/details/105474557
今日推荐
周排行