package zhaotong.It;
/*
图书管理系统
*/
import java.util.Scanner;
public class BookManager {
public static void main(String[] args) {
//准备工作
//创建Scanner对象
Scanner sc = new Scanner(System.in);
//准备储存书籍信息的一维数组
String[] bookName = new String[6];//图书名称
int[] state = new int[6];//状态: 0:未借出 1.已借出
int[] day = new int[6];//借出天数
int[] time = new int[6];//借出的总次数
//String[][] bookName=new String[4][6];
//准备已有数籍信息
bookName[0] = "遮天";
state[0] = 1;
day[0] = 5;
time[0] = 8;
bookName[1] = "完美世界";
state[1] = 0;
day[1] = 0;
time[1] = 5;
bookName[2] = "神墓";
state[2] = 0;
day[2] = 0;
time[2] = 16;
boolean flag = true;
do {
System.out.println("欢迎访问辰东的图书管理系统");
System.out.println("**********************************");
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("请选择(1-6)");
//接收用户输入数据
int num = sc.nextInt();
int x = 1;
out:
switch (num) {
case 1://图书添加功能
//提示用户输入要添加的书名
System.out.println("请输入要添加的书名:");
String bookName1 = sc.next();
String addName = addBook(bookName, bookName1);
System.out.println(addName);
while (x != 0) {
System.out.println("请输入0返回:");
x = sc.nextInt();
if (x == 0) {
break out;
}
}
case 2://图书查看功能
lookBooks(bookName, state, day, time);
{
while (x != 0) {
System.out.println("请输入0返回:");
x = sc.nextInt();
if (x == 0) {
break out;
}
}
}
case 3://图书删除功能
System.out.println("请输入您要删除的书名:");
String bookName2 = sc.next();
String deleteName = deleteBook(bookName,state,bookName2);
System.out.println(deleteName);
while (x != 0) {
System.out.println("请输入0返回:");
x = sc.nextInt();
if (x == 0) {
break out;
}
}
case 4://图书借出功能
System.out.println("请输入您要借的书名:");
String bookName3=sc.next();
String borrowName=borrowBook(bookName,state,day,time,bookName3);
System.out.println(borrowName);
while (x != 0) {
System.out.println("请输入0返回:");
x = sc.nextInt();
if (x == 0) {
break out;
}
}
case 5://图书归还功能
System.out.println("请输入您要还的书名:");
String bookName4 = sc.next();
String giveBackName = giveBackBook(bookName,state,day,bookName4);
System.out.println(giveBackName);
while (x != 0) {
System.out.println("请输入0返回:");
x = sc.nextInt();
if (x == 0) {
break out;
}
}
case 6:
System.out.println("感谢使用,拜拜");
flag = false;
break;
default:
System.out.println("您输入的是无效数据");
}
} while (flag);
}
/**
* 图书查看方法
*
* @param bookName 图书名称
* @param state 状态
* @param day 借出天数
* @param time 借出次数
*/
public static void lookBooks(String[] bookName, int[] state, int[] day, int[] time) {
System.out.println("编号" + "\t" + "图书名称" + "\t\t" + "状态" + "\t\t" + "借出天数" + "\t\t" + "借出次数" + "\t\t");
for (int i = 0; i < bookName.length; i++) {
if (bookName[i] != null) {
System.out.print((i + 1) + "\t");
System.out.print(bookName[i] + "\t\t");
if (state[i] == 1) {
System.out.print("以借出" + "\t\t");
} else {
System.out.print("未借出" + "\t\t");
}
System.out.print(day[i] + "天" + "\t\t");
System.out.print(time[i] + "次" + "\t\t");
}
System.out.println();
}
}
/**
* 图书添加方法
*
* @param bookName 添加图书的数组
* @param name 添加图书的名称
* @return 添加是否成功
*/
public static String addBook(String[] bookName, String name) {
for (int i = 0; i < bookName.length; i++) {
if (bookName[i] == null) {
bookName[i] = name;
return "图书添加成功";
}
}
return "书架已满,添加失败";
}
/**
* 图书删除方法
*
* @param bookName 删除图书的数组
* @param state 图书的状态
* @param name 删除图书的名字
* @return 删除是否成功
*/
public static String deleteBook(String[] bookName, int[] state, String name) {
for (int i = 0; i < bookName.length; i++) {
if (bookName[i] != null && bookName[i].equals(name)) {
if (state[i] == 0) {
bookName[i] = null;
return "删除成功";
} else {
return "该书以借出,操作失败";
}
}
}
return "您输入的书名没有";
}
/**
* 图书借阅方法
* @param bookName 放书名的数组
* @param name 借阅的书名
* @param state 图书的状态
* @param day 借出天数
* @param time 借出次数
* @return 借书是否成功
*/
public static String borrowBook(String[] bookName, int[] state, int[] day, int[] time,String name){
for (int i = 0;i< bookName.length;i++){
if (bookName[i] != null && bookName[i].equals(name)){
if (state[i]==0){
state[i]=1;
day[i]=1;
time[i]=time[i]+1;
return "借书成功";
}else{
return "您借的书已被借出";
}
}
}
return "您借的书不存在";
}
/**
* 图书归还方法
* @param bookName 放书名的数组
* @param state 图书的状态
* @param day 借出天数
* @param name 归还的名字
* @return 归还是否成功
*/
public static String giveBackBook(String[] bookName,int[] state,int[] day,String name){
for (int i=0;i< bookName.length;i++){
if (bookName[i] != null && bookName[i].equals(name)){
if (state[i] == 1){
state[i]=0;
day[i]=0;
return "还书成功";
}else{
return "该书未被借出";
}
}
}
return "您的书不是我们的";
}
}
对前面数组与方法的一次练习
最新推荐文章于 2024-03-26 23:11:53 发布