一、 实体类
package com.jiangli.day06.task;
public class Book {
static int count;
private String bno;
private String bname;
private String author;
private int price;
public Book(String bname,String bno,String author,int price){
this.bname = bname;
this.bno = bno;
this.author = author;
this.price = price;
count++;
}
public static int getCount() {
return count;
}
public static void setCount(int count) {
Book.count = count;
}
public String getBname() {
return bname;
}
public void setBname(String bname) {
this.bname = bname;
}
public String getBno() {
return bno;
}
public void setBno(String bno) {
this.bno = bno;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
二、菜单功能页
package com.jiangli.day06.task;
import java.util.Scanner;
public class Interface {
public static void Interface() {
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:");
System.out.println("**********************************");
}
}
三、信息处理类(增删改查)
package com.jiangli.day06.task;
import java.util.Scanner;
public class BookInfoDeal {
public static void BookInfoDeal(Book [] books) {
System.out.println("*************当前书籍信息如下所示*************");
System.out.println("\t"+"编号\t"+"书名\t"+"作者\t"+"价格\t");
for (int i = 0; i < Book.count; i++) {
System.out.println("\t"+books[i].getBno()+"\t"+books[i].getBname()+"\t"+books[i].getAuthor()+"\t"+books[i].getPrice());
}
System.out.println("**********************************************");
}
public static Book[] addBooks(Book [] books) {
Book[] book = new Book[Book.count+1];
System.out.println("请输入书名:");
String bname = getScanner ().next();
System.out.println("请输入书的编号:");
String bno = getScanner ().next();
System.out.println("请输入书的作者:");
String author = getScanner ().next();
System.out.println("请输入书的价格:");
int price = getScanner ().nextInt();
if(Book.count==0) {
book[0] = new Book(bname, bno, author, price);
}else {
for (int i = 0; i <Book.count; i++) {
book[i]=books[i];
}
book[Book.count] = new Book(bname, bno, author, price);
}
return book;
}
public static void findBook(Book[] books) {
if (Book.count==0) {
System.out.println("暂时无书籍可供你查找");
}else {
System.out.println("请输入你要查找的书籍的编号:");
String bno = getScanner ().next();
for (int i = 0; i < Book.count; i++) {
if (books[i].getBno().equals(bno)) {
System.out.println("\t"+"编号\t"+"书名\t"+"作者\t"+"价格\t");
System.out.println("\t"+books[i].getBno()+"\t"+books[i].getBname()+"\t"+books[i].getAuthor()+"\t"+books[i].getPrice());
return;
}
}
}
System.out.println("未找到您输入的编号的书籍!");
}
public static Book[] deleteBook(Book[] books) {
if (Book.count==0) {
System.out.println("暂时无书籍,无法下架");
}else {
System.out.println("请输入你要下架的书籍的编号:");
String bno = getScanner ().next();
for (int i = 0; i < Book.count; i++) {
if (books[i].getBno().equals(bno)) {
Book[] books2 = new Book[Book.count-1];
int k=-1;
for (int j = 0; j < Book.count; j++) {
if (i!=j) {
books2[++k] = books[j];
}
}
Book.count-=1;
return books2;
}
}
System.out.println("未找到您输入的编号的书籍,删除失败!");
}
return books;
}
public static void modifyBookInfo(Book[] books) {
if (Book.count==0) {
System.out.println("暂时无书籍,无法修改信息");
}else {
System.out.println("请输入你要更新的书籍的编号:");
String bnos = getScanner ().next();
for (int i = 0; i < Book.count; i++) {
if (books[i].getBno().equals(bnos)) {
System.out.println("请输入修改后的书名:");
String bname = getScanner ().next();
books[i].setBname(bname);
System.out.println("请输入修改后的书的编号:");
String bno = getScanner ().next();
books[i].setBno(bno);
System.out.println("请输入修改后的书的作者:");
String author = getScanner ().next();
books[i].setAuthor(author);
System.out.println("请输入修改后的书的价格:");
int price = getScanner ().nextInt();
books[i].setPrice(price);
return ;
}
}
System.out.println("未找到你输入的编号的书籍信息");
}
}
public static Scanner getScanner () {
return new Scanner(System.in);
}
public static int getInput() {
return getScanner ().nextInt();
}
}
四、测试类
package com.jiangli.day06.task;
public class BookTest {
public static void main(String[] args) {
Book[] books = new Book[100];
boolean key = true;
while(key) {
Interface.Interface();
int input = BookInfoDeal.getInput();
switch (input) {
case 1:
BookInfoDeal.BookInfoDeal(books);
break;
case 2:
books = BookInfoDeal.addBooks(books);
break;
case 3:
BookInfoDeal.findBook(books);
break;
case 4:
books = BookInfoDeal.deleteBook(books);
break;
case 5:
BookInfoDeal.modifyBookInfo(books);
break;
case 6:
System.out.println("程序已经退出!");
key = false;
break;
default:
System.out.println("输入错误,请重新输入!");
break;
}
}
}
}