import java.util.Scanner;
public class Library {
static String[] names = new String[6];
static int[] states = new int[6];
static int[] dates = new int[6];
static int[] counts = new int[6];
static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
init();
System.out.println("欢迎使用迷你图书管理器");
while (true) {
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 item = input.nextInt();
if(item<1||item>6){
System.out.println("谢谢使用");
return;
}
switch (item){
case 1:
System.out.println("---> 新增图书");
addbook();
break;
case 2:
System.out.println("---> 查看图书");
showBook();
break;
case 3:
System.out.println("---> 删除图书");
delBook();
break;
case 4:
System.out.println("---> 借出图书");
lendBook();
break;
case 5:
System.out.println("---> 归还图书");
restoredBook();
break;
case 6:
System.out.println("---> 系统即将退出.....");
return;
default:
}
System.out.println("**************************");
System.out.println("输入0返回:");
int num = input.nextInt();
if(num!=0){
System.out.println("谢谢使用.....");
break;
}
}
}
private static void init(){
names[0] = "三国演义";
states[0] = 1;
counts[0] = 20;
dates[0] = 2;
names[2] = "水浒传";
counts[2] = 10;
names[3] = "西游记";
counts[3] = 15;
}
private static int hasBook(String name){
for (int i = 0; i < names.length; i++) {
if(names[i]!=null && names[i].equals(name)){
return i;
}
}
return -1;
}
private static void addbook() {
System.out.println("请输入图书名称:");
String name = input.next();
int index = hasBook(name);
if(index==-1) {
for (int i = 0; i < names.length; i++) {
if(names[i]==null) {
names[i] = name;
System.out.println("新增《" + name + "》成功!");
return;
}
}
}else {
System.out.println("该书已经存在了,新增失败....");
}
if(names[names.length-1]!=null){
System.out.println("书架已满,不能再进行新增操作");
}
}
private static void showBook() {
System.out.println("序号\t状态\t\t名称\t\t借出日期\t借出次数");
int num = 1;
for (int i = 0; i < names.length; i++) {
if(names[i]!=null){
System.out.println(num+"\t"+(states[i]==0?"可借阅":"已借出")+"\t"+names[i]+"\t"+dates[i]+"\t\t"+counts[i]);
num++;
}
}
}
private static void delBook() {
System.out.println("请输入要删除图书的名称:");
String name = input.next();
int index = hasBook(name);
while(true){
if(index==-1){
System.out.println("删除的图书不存在,无法删除");
break;
}
if(states[index]==1){
System.out.println("该图书被借出了,不支持删除操作");
break;
}
System.out.println(name+"图书删除成功");
names[index] = null;
dates[index] = 0;
counts[index] = 0;
break;
}
}
private static void lendBook() {
System.out.println("请输入图书名称:");
String name = input.next();
int index = hasBook(name);
if(index==-1){
System.out.println("该图书还没有入库,请等待系统更新...");
return;
}
if(states[index]==1){
System.out.println("该图书已经被借走了,请过几天再来");
return;
}
System.out.print("请输入借出日期:(1-30)");
int date = input.nextInt();
while(true){
if(date>30||date<1){
System.out.print("必须大于等于1且小于等于30的数字,请重新输入:");
date = input.nextInt();
continue;
}
System.out.println("借出《"+name+"》成功!");
break;
}
dates[index] = date;
states[index] = 1;
counts[index]++;
}
private static void restoredBook() {
System.out.println("请输入归还图书名称:");
String name = input.next();
int index = hasBook(name);
if(index == -1){
System.out.println("该图书还没有入库,请等待系统更新...");
return;
}
if(states[index] ==0){
System.out.println("该图书没有被借出!无法进行归还操作。");
return;
}
System.out.print("请输入归还日期");
int endDate = input.nextInt();
while(true){
if(endDate<=dates[index] || endDate>30){
System.out.print("归还日期必须大于借出日期且小于30,请重新输入:");
endDate = input.nextInt();
continue;
}
System.out.println("归还《"+name+"》成功!");
System.out.println("借出日期:"+dates[index]);
System.out.println("归还日期:"+endDate);
System.out.println("应付租金(元):"+(endDate-dates[index])*1.0);
break;
}
dates[index] = 0;
states[index] = 0;
}
}