package Day9.Practice01.Test;
/*利用面向对象的思想设计一个图书管理系统。图书的属性有:编号,书名,作者,价格。要求提供如下功能:
1、提供操作菜单,可以选择要进行的操作。
2、可以添加图书,添加图书时,编号需要唯一,添加成功,返回到菜单。
3、可以查询图书,显示所有图书信息,然后返回到菜单。
4、可以根据书名,查询单本图书信息,显示信息后,返回到菜单。
5、可以删除图书,通过编号删除,删除成功后,返回到菜单。
6、可以修改图书的信息,但编号不可以修改,修改成功后,返回到菜单。
7、可以退出系统,结束程序运行。*/
import java.util.ArrayList;
import java.util.Scanner;
public class Test04 {
public static void main(String[] args) {
ArrayList<Library> array = new ArrayList<Library>();
Scanner sc = new Scanner(System.in);
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("----------------------------------");
String s = sc.nextLine();
switch (s) {
case "1":
//2、可以添加图书,添加图书时,编号需要唯一,添加成功,返回到菜单。
addBook(array);
break;
case "2":
//3、可以查询图书,显示所有图书信息,然后返回到菜单。
showLibrary(array);
break;
case "3":
//4、可以根据书名,查询单本图书信息,显示信息后,返回到菜单。
searchBook(array);
break;
case "4":
//4、可以删除图书,通过编号删除,删除成功后,返回到菜单。
deleteBook(array);
break;
case "5":
//6、可以修改图书的信息,但编号不可以修改,修改成功后,返回到菜单。
updateBook(array);
break;
case "6":
//可以退出系统,结束程序运行。
System.out.println("谢谢使用!");
System.out.println("----------------------------------");
System.exit(0);
}
}
}
private static void updateBook(ArrayList<Library> array) {
if (array.size() == 0) {
System.out.println("系统无任何图书信息,请添加后使用!");
System.out.println();
return;
}
int sig = 0;
System.out.println("请输入图书编号:");
Scanner sc = new Scanner(System.in);
String s = sc.next();
for (int i = 0; i < array.size(); i++) {
Library b = array.get(i);
if (b.getSid().equals(s)) {
sig++;
array.remove(i);
addBook(array);
}
}
if (sig == 0) {
System.out.println("输入有误,请确认编号信息!");
}
}
private static void deleteBook(ArrayList<Library> array) {
if (array.size() == 0) {
System.out.println("系统无任何图书信息,请添加后使用!");
System.out.println();
return;
}
int sig = 0;
System.out.println("请输入图书编号:");
Scanner sc = new Scanner(System.in);
String s = sc.next();
for (int i = 0; i < array.size(); i++) {
Library b = array.get(i);
if (b.getSid().equals(s)) {
sig++;
array.remove(i);
System.out.println("删除成功!");
}
}
if (sig == 0) {
System.out.println("输入有误,请确认编号信息!");
}
}
private static void searchBook(ArrayList<Library> array) {
if (array.size() == 0) {
System.out.println("系统无任何图书信息,请添加后使用!");
System.out.println();
return;
}
Library b = new Library();
Scanner sc = new Scanner(System.in);
System.out.println("1 书名查询");
System.out.println("2 编号查询");
System.out.println("3 作者查询");
System.out.println("4 价格查询");
String a = sc.next();
int sig = 0;
switch (a) {
case "1":
System.out.println("请输入书名:");
String name = sc.next();
for (int i = 0; i < array.size(); i++) {
b = array.get(i);
if (b.getBookName().equals(name)) {
sig++;//使用sig标识,当程序识别到输入的nama时,sig的值加一
System.out.println("书名" + "\t" + "编号" + "\t" + "作者" + "\t" + "价格" + "\t");
System.out.println(b.getBookName() + "\t" + b.getSid() + "\t" + b.getAuthor() + "\t" + b.getPrice() + "\t");
} else {
}
}
if (sig == 0) {
System.out.println("输入有误,请确认书名后查询!");
}
System.out.println();
break;
case "2":
System.out.println("请输入编号:");
String sid = sc.next();
for (int i = 0; i < array.size(); i++) {
b = array.get(i);
if (b.getSid().equals(sid)) {
sig++;//使用sig标识,当程序识别到输入的sid时,sig的值加一
System.out.println("书名" + "\t" + "编号" + "\t" + "作者" + "\t" + "价格" + "\t");
System.out.println(b.getBookName() + "\t" + b.getSid() + "\t" + b.getAuthor() + "\t" + b.getPrice() + "\t");
} else {
}
}
if (sig == 0) {
System.out.println("输入有误,请确认编号信息后查询!");
}
System.out.println();
break;
case "3":
System.out.println("请输入作者名:");
String author = sc.next();
for (int i = 0; i < array.size(); i++) {
b = array.get(i);
if (b.getAuthor().equals(author)) {
System.out.println("书名" + "\t" + "编号" + "\t" + "作者" + "\t" + "价格" + "\t");
break;
} else {
}
}
for (int i = 0; i < array.size(); i++) {
b = array.get(i);
if (b.getAuthor().equals(author)) {
sig++;//使用sig标识,当程序识别到输入的sid时,sig的值加一
System.out.println(b.getBookName() + "\t" + b.getSid() + "\t" + b.getAuthor() + "\t" + b.getPrice() + "\t");
} else {
}
}
if (sig == 0) {
System.out.println("输入有误,请确认作者信息后查询!");
}
System.out.println();
break;
case "4":
System.out.println("请输入价格:");
String price = sc.next();
for (int i = 0; i < array.size(); i++) {
b = array.get(i);
if (b.getPrice().equals(price)) {
System.out.println("书名" + "\t" + "编号" + "\t" + "作者" + "\t" + "价格" + "\t");
break;
} else {
}
}
for (int i = 0; i < array.size(); i++) {
b = array.get(i);
if (b.getPrice().equals(price)) {
sig++;//使用sig标识,当程序识别到输入的sid时,sig的值加一
System.out.println("书名" + "\t" + "编号" + "\t" + "作者" + "\t" + "价格" + "\t");
System.out.println(b.getBookName() + "\t" + b.getSid() + "\t" + b.getAuthor() + "\t" + b.getPrice() + "\t");
} else {
}
}
if (sig == 0) {
System.out.println("输入有误,请确认价格信息后查询!");
}
System.out.println();
break;
default:
System.out.println("输入有误,请重新输入");
break;
}
}
private static void showLibrary(ArrayList<Library> array) {
if (array.size() == 0) {
System.out.println("系统无任何图书信息,请添加后使用!");
System.out.println();
return;
}
Library b = new Library();
System.out.println("书名" + "\t" + "编号" + "\t" + "作者" + "\t" + "价格" + "\t");
for (int i = 0; i < array.size(); i++) {
b = array.get(i);
System.out.println(b.getBookName() + "\t" + b.getSid() + "\t" + b.getAuthor() + "\t" + b.getPrice());
}
}
private static void addBook(ArrayList<Library> array) {
Scanner sc = new Scanner(System.in);
Library b = new Library();
while (true) {
System.out.println("请输入书名:");
String bookName = sc.nextLine();
if (bookName.length() == 0) {
} else {
b.setBookName(bookName);
break;
}
}
while (true) {
System.out.println("请输入编号:");
String sid = sc.nextLine();
if (dulp(array, sid)) {
} else {
b.setSid(sid);
break;
}
}
while (true) {
System.out.println("请输入作者:");
String author = sc.nextLine();
if (author.length() == 0) {
System.out.println("作者不得为空,请重新输入!");
} else {
b.setAuthor(author);
break;
}
}
while (true) {
System.out.println("请输入价格:");
String price = sc.nextLine();
if (price.length() == 0) {
System.out.println("价格不得为空,请重新输入!");
} else {
b.setPrice(price);
break;
}
}
array.add(b);
System.out.println("书籍信息添加成功!");
System.out.println();
}
private static boolean dulp(ArrayList<Library> array, String sid) {
if (sid.length() == 0) {
System.out.println("编号不得为空,请重新输入!");
return true;
}
for (int i = 0; i < array.size(); i++) {
Library b = array.get(i);
if (b.getSid().equals(sid)) {
System.out.println("编号重复,请重新输入!");
return true;
}
}
return false;
}
}
|
|