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());//被删除的后面前移
}
}
}