package book; import java.util.Scanner; import manager.BookManager; public class Book { public String ISBN; String bookname; private String author; private String publisher; private double price; public Book() { }//空构造方法 public Book(String ISBN,String bookname,String author,String publisher, double price) { this.ISBN = ISBN; this.bookname = bookname; this.author = author; this.publisher = publisher; this.price = price; }//调用私有变量 public void setauthor(String author) { this.author = author; } public void setbookname(String bookname) { this.bookname = bookname; } public void setprice(double price) { this.price = price; } public void setpublisher(String publisher) { this.publisher = publisher; } public void setISBN(String ISBN) { this.ISBN = ISBN; } public String getISBN() { return ISBN; } public String getauthor() { return author; } public double getprice() { return price; } public String getpublisher() { return publisher; } public String getbookname() { return bookname; } public void pri() { System.out.println("本书的ISBN号为:"+ISBN); System.out.println("本书的书名:"+bookname); System.out.println("本书的作者:"+author); System.out.println("本书的出版社:"+publisher); System.out.println("本书的价格:"+price); } }
package book; import java.util.Scanner; import manager.BookManager; public class test { public static void main(String args[]) { BookManager b = new BookManager(); System.out.println("1-添加书籍"); System.out.println("2-查询书籍"); System.out.println("3-修改书籍"); System.out.println("4-删除书籍"); System.out.println("0-退出"); Scanner in=new Scanner(System.in); int a=in.nextInt(); while(true) {//循环 while(a==1) { System.out.println("请输入待添加的书籍信息"); System.out.println("请输入ISBN"); System.out.println("请输入书籍名称"); System.out.println("请输入作者"); System.out.println("请输入出版社"); System.out.println("请输入书籍价格"); b.addBook(in.next(),in.next(),in.next(),in.next(),in.nextDouble()); System.out.println("1-添加书籍"); System.out.println("2-查询书籍"); System.out.println("3-修改书籍"); System.out.println("4-删除书籍"); System.out.println("0-退出"); a=in.nextInt(); } while(a==2) { System.out.println("请输入待查询的书籍名称"); String name1=in.next(); b.searchBook(name1); System.out.println("是否还需要查询"); System.out.println("2-继续查询"); System.out.println("3-修改书籍"); System.out.println("4-删除书籍"); System.out.println("0-退出"); a=in.nextInt(); } while(a==3) { System.out.println("请输入待修改的书籍信息"); //System.out.println("请输入ISBN"); System.out.println("请输入书籍名称"); System.out.println("请输入作者"); System.out.println("请输入出版社"); System.out.println("请输入书籍价格"); b.editBook(in.next(),in.next(),in.next(),in.nextDouble()); System.out.println("修改完毕,是否进行如下操作"); System.out.println("1-添加书籍"); System.out.println("2-查询书籍"); System.out.println("3-修改书籍"); System.out.println("4-删除书籍"); System.out.println("0-退出"); a=in.nextInt(); } while(a==4) { System.out.println("请输入待删除的书籍信息"); //System.out.println("请输入ISBN"); System.out.println("请输入书籍名称"); System.out.println("请输入作者"); System.out.println("请输入出版社"); System.out.println("请输入书籍价格"); b.deleteBook(in.next(),in.next(),in.next(),in.nextDouble()); System.out.println("删除完毕,是否进行如下操作"); System.out.println("1-添加书籍"); System.out.println("2-查询书籍"); System.out.println("3-修改书籍"); System.out.println("4-删除书籍"); System.out.println("0-退出"); a=in.nextInt(); } //while(a==0) { //System.out.println("结束运行"); // }没有0自然就退出了 } } }
package manager; import book.Book; import book.test; import java.util.*; //引入其他包类 public class BookManager { static int cnt=0; //用于存储当前实际书的数量 Book shu[] = new Book[10] ; //用于存储多本书对象的数组 int max=10; //用于存储最大存书数 public BookManager() { /*定义构造方法,用来进行图书管理类对象的初始化,请编写方法体*/ for(int i=0;i<10;i++) { shu[i] = new Book(); } } /*添加图书的功能,请编写方法体*/ public void addBook(String ISBN,String bookname,String author,String publisher,double price) { shu[cnt].ISBN=ISBN; shu[cnt].setauthor(author); shu[cnt].setbookname(bookname); shu[cnt].setpublisher(publisher); shu[cnt].setprice(price); cnt++; } /*按书名查询图书的功能,返回的信息是同名书籍在数组 book中的编号所构成的整型数组,请编写方法体*/ public void searchBook(String bookname) { int i=0; for(i=0;i<cnt;i++) { //System.out.println(cnt); //shu[cnt-1].pri(); if(shu[i].getbookname().contentEquals(bookname)) { System.out.println("同名书籍在数组");break; } } if(i==cnt) { System.out.println("同名书籍不在数组"); } } /*按书名修改书籍信息的功能,可能同名书籍不止一个,附加题,选做, 按指定要求修改某个具体书籍信息,请编写方法体*/ public void editBook(String bookname,String author,String publisher,double price){ for(int i=0;i<cnt;i++) { if(shu[i].getbookname().equals(bookname) && shu[i].getauthor().equals(author) && shu[i].getpublisher().equals(publisher)&& shu[i].getprice()==price){ System.out.println("请输入你要修改的书籍信息:1为价格,2为书名"); Scanner mag = new Scanner(System.in); int x = mag.nextInt(); if(x==1) { System.out.println("请输入你要修改的书籍价格信息:"); double newprice = mag.nextDouble(); shu[i].setprice(newprice); } if(x==2) { System.out.println("请输入你要修改的书籍信息:"); String newname = mag.next(); shu[i].setbookname(newname); } break; } } } /*按书名删除书籍信息的功能,可能同名书籍不止一个,附加题,选做, 按指定要求删除某个具体书籍信息,请编写方法体*/ public void deleteBook(String bookname,String author,String publisher,double price){ int x=0;//表示删除了第几本书 for(int i=0;i<cnt;i++) { if(shu[i].getbookname().equals(bookname) && shu[i].getauthor().equals(author) && shu[i].getpublisher().equals(publisher)&& shu[i].getprice()==price) { x=i;cnt--;break;//找到要删除的书 } } for(int i=x;i<cnt;i++) { shu[i].setprice(shu[i+1].getprice()); shu[i].setbookname(shu[i+1].getbookname()); shu[i].setauthor(shu[i+1].getauthor()); shu[i].setpublisher(shu[i+1].getpublisher()); shu[i].setISBN(shu[i+1].getISBN());//被删除的后面前移 } } }