zoukankan      html  css  js  c++  java
  • Java记录简易图书管理

    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());//被删除的后面前移
            }
        }
    }
  • 相关阅读:
    POJ-3026 Borg Maze(BFS+最小生成树)
    HDU-1875 畅通工程再续(最小生成树+判断是否存在)
    POJ-1679 The Unique MST(次小生成树、判断最小生成树是否唯一)
    POJ-1751 Highways(最小生成树消边+输出边)
    POJ-2349 Arctic Network(最小生成树+减免路径)
    POJ-2031 Building a Space Station (球的最小生成树)
    八皇后问题 2n皇后问题
    约瑟夫环
    判断1/N是否为无限小数
    HDU-4004 The Frog's Games (分治)
  • 原文地址:https://www.cnblogs.com/zhuimingzhenbai/p/12658224.html
Copyright © 2011-2022 走看看