图书管理系统(2019年10月12日)

图书管理系统

package day05;

import java.util.Scanner;

/**
* 图书登录系统
* 
* @author 张宇星
*
*/
public class Demo01 {

public static void main(String[] args) {
// 定义一个二位数组user存放用户的名字和密码
String[][] user = new String[10][2];// 先默认可以放入10个人的信息
String[][] books = new String[10][3];// 先默认存放是十本书
// 初始换产生两个数据在user数组中
user[0][0] = "张宇星";
user[0][1] = "zyx";
user[1][0] = "王成博";
user[1][1] = "wcb";
user[2][0] = "aa";
user[2][1] = "bb";
user[3][0] = "cc";
user[3][1] = "dd";
// 初始化产生三组数据在books中
books[0][0] = "001";
books[0][1] = "语文";
books[0][2] = "1元";
books[1][0] = "002";
books[1][1] = "数学";
books[1][2] = "2元";
books[2][0] = "003";
books[2][1] = "英语";
books[2][2] = "3元";
// 提示用户按照要求输入操作
while (true) {
System.out.println("*******************欢迎登陆图书管理系统********************");
System.out.println("1.注册 " + "	" + "2.登陆 " + "	" + "3.退出 " + "	");
Scanner input = new Scanner(System.in);
int i = input.nextInt();
if (i == 1) {
register(user);
} else if (i == 2) {
login(user, books);
} else if (i == 3) {
break;
}
}
}

// 注册方法
public static void register(String[][] user) {
Scanner input = new Scanner(System.in);
// 提示用户输入用户名
System.out.println("请输入注册用户名:");
String name = input.next();
// 将用户输入的和数组中本来的拿来比较,如果有一致的,提示用户重新输入
boolean flag = false;
for (int i = 0; i < user.length; i++) {
if (name.equals(user[i][0])) {
flag = true;
break;
}
}
if (flag) {
System.out.println("您注册的名字存在,请重新注册");
register(user);

} else {
// System.out.println("等待下一步");
}
// 提示用户输入密码
System.out.println("请输入注册密码:");
String password = input.next();

// 找到用户数组中空闲的位置的下标
int temp = 0;
for (int i = 0; i < user.length; i++) {
if (user[i][0] == null) {
temp = i;
break;

} else {
}
}
// 插入数据
user[temp][0] = name;
user[temp][1] = password;
// 提示用户注册成功
System.out.println("注册成功!!!");
}

// 登录的方法
public static void login(String[][] user, String[][] book) {
// 提示用户输入用户名
Scanner input = new Scanner(System.in);
System.out.println("请输入登录用户名:");
String name = input.next();
// 提示用户输入密码
System.out.print("请输入登录密码:");
String password = input.next();
// 检查账号和密码是否和之前一样
// System.out.println(name+"...."+password);

boolean flag = false;
for (int i = 0; i < user.length; i++) {
// System.out.println("--------------"+i);
if (name.equals(user[i][0]) && password.equals(user[i][1])) {
flag = true;
break;
}
}
if (flag) {
System.out.println("登录成功,进行图书操作!!!");
book(book);
} else {
System.out.println("登录失败,请重新登录");
login(user, book);
}

}

public static void book(String[][] book) {

while (true) {
System.out.println("********欢迎进入书籍管理系统***********");
System.out.println("1.查看书籍 2.书籍添加 3.书籍删除 4.修改 5.退出");
Scanner input = new Scanner(System.in);
int a = input.nextInt();
if (a == 1) {
showBook(book);
} else if (a == 2) {
addBook(book);
} else if (a == 3) {
deleteBook(book);
} else if (a == 4) {
changeBook(book);
} else if (a == 5) {
break;
}
}
}

// 查看书籍方法
private static void showBook(String[][] book) {
// 寻找最后一个数的下标
int temp = 0;
for (int i = 0; i < book.length; i++) {
if (book[i][0] == null) {
temp = i;
break;

} else {
}
}
// System.out.println(temp);
// 遍历book数组,并输出
for (int i = 0; i < temp; i++) {
for (int j = 0; j < book[i].length; j++) {
System.out.print(book[i][j] + "	");
}
System.out.println();
}

}

// 添加书籍
private static void addBook(String[][] book) {

Scanner input = new Scanner(System.in);
// 提示用户书籍的编号
System.out.println("请输编号:");
String number = input.next();
// 将用户输入的编号和数组中本来的拿来比较,如果有一致的,提示用户重新输入
boolean flag = false;
for (int i = 0; i < book.length; i++) {
if (number.equals(book[i][0])) {
flag = true;
break;
}
}
if (flag) {
System.out.println("您添加的书籍已存在,请重新添加");
register(book);

} else {
}
// 提示用户输入后面的内容
System.out.println("请输入书籍名字:");
String bookName = input.next();
System.out.println("请输入书籍价格:");
String price = input.next();
// 找到用户数组中空闲的位置的下标
int temp = 0;
for (int i = 0; i < book.length; i++) {
if (book[i][0] == null) {
temp = i;
break;

} else {
}
}
// 插入数据
book[temp][0] = number;
book[temp][1] = bookName;
book[temp][2] = price;
// 提示用户注册成功
System.out.println("添加成功!!!");

}

// 删除书籍的方法
private static void deleteBook(String[][] book) {
System.out.println("请输入需要删除的书的编号");
Scanner input = new Scanner(System.in);
String temp = input.next();
// 找一下最后一本书在数组中的下标 定义为temp1
int temp1 = 0;
for (int i = 0; i < book.length; i++) {
if (book[i][0] == null) {
temp1 = i;
break;

} else {
}
}
// 找到需要删除的那个编号的下标
int index = 0;
boolean flag = false;
for (int i = 0; i < book.length; i++) {
if (temp.equals(book[i][0])) {
flag = true;
index = i;
break;
}
}
if (flag) {
// 修改数组中的元素,将后面的值往前挪一个位置
for (int i = index; i < temp1; i++) {
book[i][0] = book[i + 1][0];
book[i][1] = book[i + 1][1];
}

} else {
System.out.println("请重新输入您需要删除的书的编号");
deleteBook(book);
}

}

// 修改书籍的方法
private static void changeBook(String[][] book) {

System.out.println("请输入需要修改的书的编号");
Scanner input = new Scanner(System.in);
String temp = input.next();
// 找一下最后一本书在数组中的下标 定义为temp1
int temp1 = 0;
for (int i = 0; i < book.length; i++) {
if (book[i][0] == null) {
temp1 = i;
break;

} else {
}
}
// 找到需要修改的那个编号的下标
int index = 0;
boolean flag = false;
for (int i = 0; i < book.length; i++) {
if (temp.equals(book[i][0])) {
flag = true;
index = i;
break;
}
}
if (flag) {
// 获取用户需要修改之后的内容
System.out.println("请输入新的名称:");
String temp3 = input.next();
System.out.println("请输入新的价格:");
String temp4 = input.next();
// 修改下标为index的数组的内容
book[index][1] = temp3;
book[index][2] = temp3;
System.out.println("修改成功,赶快去查看");
} else {
System.out.println("请重新输入您需要修改的书的编号");
changeBook(book);
}

}
}
原文地址:https://www.cnblogs.com/Starlets/p/11679678.html