图书管理模块:
某图书管需要对图书进行信息化管理,
要求管理员能够进行新增图书,
能按照书名进行模糊查看图书
能进行价格统计
系统实现如下:
1.新增
2.查询
3.统计价格
1
请输入新书:
图书号,书名,作者,价格
新增成功,选择其他操作
1.新增
2.查询
3.统计价格
2
请输入书名:

1002,水浒传,施耐庵,108
1003,喝水好处多,张三,199
选择其他操作
1.新增
2.查询
3.统计价格
3
总计:图书10本,价格1020元
 
package com.bingbing.blogs;

public class Book {
    private String bName;
    private String bNo;
    private String author;
    private float price;

    public Book() {
    }

    public Book(Book newBook) {
        this.bName = newBook.bName;
        this.bNo = newBook.bNo;
        this.author = newBook.author;
        this.price = newBook.price;
    }

    public Book(String bName, String bNo, String author, float price) {
        this.bName = bName;
        this.bNo = bNo;
        this.author = author;
        this.price = price;
    }

    public String getbName() {
        return bName;
    }

    public String getbNo() {
        return bNo;
    }

    public String getAuthor() {
        return author;
    }

    public float getPrice() {
        return price;
    }

    public void setbName(String bName) {
        this.bName = bName;
    }

    public void setbNo(String bNo) {
        this.bNo = bNo;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public void setPrice(float price) {
        this.price = price;
    }

}


1 package com.bingbing.blogs;
  2 
  3 import java.util.Scanner;
  4 
  5 /**
  6  * 新增成功,选择其他操作 1.新增 2.查询 3.统计价格 2 请输入书名: 水 1002,水浒传,施耐庵,108 1003,喝水好处多,张三,199
  7  * 选择其他操作 1.新增 2.查询 3.统计价格 3 总计:图书10本,价格1020元
  8  * */
  9 public class DoWithBook {
 10     public final static int MAX_NUM = 100;
 11     private Book[] book = new Book[MAX_NUM];
 12     private static int bkNum = 0;
 13 
 14     public DoWithBook() {
 15         for (int i = 0; i < MAX_NUM; i++) {
 16             this.book[i] = new Book();
 17         }
 18         System.out.println("数组初始化");
 19     }
 20 
 21     // 显示所有书籍信息
 22     public void showBook() {
 23         if (bkNum > 0) {
 24             System.out.println("查询结果如下:\n" + "书名" + "书编号" + "作者" + "价格");
 25         } else {
 26             System.out.println("暂无图书,您可以先添加后查询");
 27         }
 28         for (int i = 0; i < bkNum; i++) {
 29             System.out.println(book[i].getbName() + "\t" + book[i].getbNo()
 30                     + "\t" + book[i].getAuthor() + "\t" + book[i].getPrice());
 31         }
 32     }
 33 
 34     public void addBook(Book newBook) {
 35         if (bkNum == MAX_NUM) {
 36             System.out.println("书库已满,禁止添加");
 37         } else {
 38             this.book[bkNum] = new Book(newBook);
 39             bkNum++;
 40             System.out.println("添加书籍成功,当前共有书籍" + bkNum + "册");
 41         }
 42     }
 43 
 44     public void delBook(Book k) {
 45         if (k == null) {
 46             System.out.println("要删除的对象不存在");
 47         } else {
 48             String bName = "";
 49             for (int i = 0; i < bkNum; i++) {
 50                 if (k.equals(this.book[i])) {
 51                     
 52                     bName = k.getbName();
 53                     
 54                     for (int j = i; j < bkNum; j++) {
 55                         this.book[j] = book[j + 1];
 56                     }
 57                 }
 58             }
 59             bkNum--;
 60             System.out.println("已将图书" + bName + "删除");
 61         }
 62     }
 63 
 64     public void editBook(Book book) {
 65         
 66         System.out.println("请输入新的书名,书编码,作者和价格,用空格将它们隔开");
 67         Scanner sc = new Scanner(System.in);
 68         String temp = sc.nextLine();
 69         String[] input = temp.split(" ");
 70         float price = Float.parseFloat(input[3]);
 71         
 72         book.setbName(input[0]);
 73         book.setbNo(input[1]);
 74         book.setAuthor(input[2]);
 75         book.setPrice(price);
 76         
 77         System.out.println("编辑成功");
 78     }
 79 
 80     // 统计价格
 81     public void statisPrice() {
 82         
 83         float totalMoney = 0;
 84         
 85         for (int i = 0; i < bkNum; i++) {
 86             
 87             totalMoney += book[i].getPrice();
 88         }
 89         System.out.println("共有图书" + bkNum + "册,共计" + totalMoney + "元");
 90         System.out.println("统计成功");
 91     }
 92 
 93     public Book searchByName(String name) {
 94         
 95         for (int i = 0; i < bkNum; i++) {
 96             
 97             if (name.equals(book[i].getbName())) {
 98                 
 99                 return book[i];
100             }
101         }
102         return null;
103     }
104 }

1 package com.bingbing.blogs;
 2 
 3 import java.util.Scanner;
 4 
 5 public class BookMain {
 6 
 7     public static void main(String[] args) {
 8         DoWithBook doWithBook = new DoWithBook();
 9         doWithBook.showBook();
10         String choice;
11         Scanner sc = new Scanner(System.in);
12 
13         while (true) {
14             printMenu();
15             choice = sc.nextLine();
16             if ("1".equals(choice)) {
17                 System.out.println("请输入书名,书编码,作者和价格,用空格将它们隔开");
18                 String temp = sc.nextLine();
19                 String[] input = temp.split(" ");
20                 float price = Float.parseFloat(input[3]);
21                 Book newBook = new Book(input[0], input[1], input[2], price);
22                 doWithBook.addBook(newBook);
23                 System.out.println("添加成功");
24             } else if ("2".equals(choice)) {
25                 System.out.println("请输入要删除的书名");
26                 String bName = sc.nextLine().trim();
27                 Book newBook = doWithBook.searchByName(bName);
28                 doWithBook.delBook(newBook);
29             } else if ("3".equals(choice)) {
30                 doWithBook.showBook();
31             } else if ("4".equals(choice)) {
32                 System.out.println("请输入要修改书的书名");
33                 String bName = sc.nextLine();
34                 Book newBook = doWithBook.searchByName(bName);
35                 if (newBook == null) {
36                     System.out.println("没有这本书");
37                 } else {
38                     doWithBook.editBook(newBook);
39                 }
40             } else if ("5".equals(choice)) {
41                 doWithBook.statisPrice();
42 
43             } else {
44                 System.out.println("输入错误");
45             }
46         }
47 
48     }
49 
50     private static void printMenu() {
51         System.out
52                 .println("请选择操作序号:\n1.添加书籍\n2.删除书籍\n3.显示所有书籍\n4.更改书籍信息\n5.统计书籍价格\n");
53 
54     }
55


 执行结果:(部分)
数组初始化
暂无图书,您可以先添加后查询
请选择操作序号:
1.添加书籍
2.删除书籍
3.显示所有书籍
4.更改书籍信息
5.统计书籍价格
1
请输入书名,书编码,作者和价格,用空格将它们隔开
水浒传 54 发送 54
添加书籍成功,当前共有书籍1册
添加成功
请选择操作序号:
1.添加书籍
2.删除书籍
3.显示所有书籍
4.更改书籍信息
5.统计书籍价格
4
请输入要修改书的书名
水浒传
请输入新的书名,书编码,作者和价格,用空格将它们隔开
水浒传 15 施耐庵 24
编辑成功
请选择操作序号:
1.添加书籍
2.删除书籍
3.显示所有书籍
4.更改书籍信息
5.统计书籍价格
1
请输入书名,书编码,作者和价格,用空格将它们隔开
红楼梦 12 曹雪芹 21
添加书籍成功,当前共有书籍2册
添加成功
请选择操作序号:
1.添加书籍
2.删除书籍
3.显示所有书籍
4.更改书籍信息
5.统计书籍价格
3
查询结果如下:
书名书编号作者价格
水浒传 15 施耐庵 24.0
红楼梦 12 曹雪芹 21.0
请选择操作序号:
1.添加书籍
2.删除书籍
3.显示所有书籍
4.更改书籍信息
5.统计书籍价格
5
共有图书2册,共计45.0元
统计成功
请选择操作序号:
1.添加书籍
2.删除书籍
3.显示所有书籍
4.更改书籍信息
5.统计书籍价格
2
请输入要删除的书名
水浒传
已将图书水浒传删除
请选择操作序号:
1.添加书籍
2.删除书籍
3.显示所有书籍
4.更改书籍信息
5.统计书籍价格
3
查询结果如下:
书名书编号作者价格
红楼梦 12 曹雪芹 21.0
请选择操作序号:
1.添加书籍
2.删除书籍
3.显示所有书籍
4.更改书籍信息
5.统计书籍价格