图书管理系统 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); } } }