图书管理模块:
某图书管需要对图书进行信息化管理,
要求管理员能够进行新增图书,
能按照书名进行模糊查看图书
能进行价格统计

系统实现如下:
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;
} }


////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////

 package com.bingbing.blogs;

 import java.util.Scanner;

 /**
* 新增成功,选择其他操作 1.新增 2.查询 3.统计价格 2 请输入书名: 水 1002,水浒传,施耐庵,108 1003,喝水好处多,张三,199
* 选择其他操作 1.新增 2.查询 3.统计价格 3 总计:图书10本,价格1020元
* */
public class DoWithBook {
public final static int MAX_NUM = 100;
private Book[] book = new Book[MAX_NUM];
private static int bkNum = 0; public DoWithBook() {
for (int i = 0; i < MAX_NUM; i++) {
this.book[i] = new Book();
}
System.out.println("数组初始化");
} // 显示所有书籍信息
public void showBook() {
if (bkNum > 0) {
System.out.println("查询结果如下:\n" + "书名" + "书编号" + "作者" + "价格");
} else {
System.out.println("暂无图书,您可以先添加后查询");
}
for (int i = 0; i < bkNum; i++) {
System.out.println(book[i].getbName() + "\t" + book[i].getbNo()
+ "\t" + book[i].getAuthor() + "\t" + book[i].getPrice());
}
} public void addBook(Book newBook) {
if (bkNum == MAX_NUM) {
System.out.println("书库已满,禁止添加");
} else {
this.book[bkNum] = new Book(newBook);
bkNum++;
System.out.println("添加书籍成功,当前共有书籍" + bkNum + "册");
}
} public void delBook(Book k) {
if (k == null) {
System.out.println("要删除的对象不存在");
} else {
String bName = "";
for (int i = 0; i < bkNum; i++) {
if (k.equals(this.book[i])) { bName = k.getbName(); for (int j = i; j < bkNum; j++) {
this.book[j] = book[j + 1];
}
}
}
bkNum--;
System.out.println("已将图书" + bName + "删除");
}
} public void editBook(Book book) { System.out.println("请输入新的书名,书编码,作者和价格,用空格将它们隔开");
Scanner sc = new Scanner(System.in);
String temp = sc.nextLine();
String[] input = temp.split(" ");
float price = Float.parseFloat(input[3]); book.setbName(input[0]);
book.setbNo(input[1]);
book.setAuthor(input[2]);
book.setPrice(price); System.out.println("编辑成功");
} // 统计价格
public void statisPrice() { float totalMoney = 0; for (int i = 0; i < bkNum; i++) { totalMoney += book[i].getPrice();
}
System.out.println("共有图书" + bkNum + "册,共计" + totalMoney + "元");
System.out.println("统计成功");
} public Book searchByName(String name) { for (int i = 0; i < bkNum; i++) { if (name.equals(book[i].getbName())) { return book[i];
}
}
return null;
}
}

////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////

 package com.bingbing.blogs;

 import java.util.Scanner;

 public class BookMain {

     public static void main(String[] args) {
DoWithBook doWithBook = new DoWithBook();
doWithBook.showBook();
String choice;
Scanner sc = new Scanner(System.in); while (true) {
printMenu();
choice = sc.nextLine();
if ("1".equals(choice)) {
System.out.println("请输入书名,书编码,作者和价格,用空格将它们隔开");
String temp = sc.nextLine();
String[] input = temp.split(" ");
float price = Float.parseFloat(input[3]);
Book newBook = new Book(input[0], input[1], input[2], price);
doWithBook.addBook(newBook);
System.out.println("添加成功");
} else if ("2".equals(choice)) {
System.out.println("请输入要删除的书名");
String bName = sc.nextLine().trim();
Book newBook = doWithBook.searchByName(bName);
doWithBook.delBook(newBook);
} else if ("3".equals(choice)) {
doWithBook.showBook();
} else if ("4".equals(choice)) {
System.out.println("请输入要修改书的书名");
String bName = sc.nextLine();
Book newBook = doWithBook.searchByName(bName);
if (newBook == null) {
System.out.println("没有这本书");
} else {
doWithBook.editBook(newBook);
}
} else if ("5".equals(choice)) {
doWithBook.statisPrice(); } else {
System.out.println("输入错误");
}
} } private static void printMenu() {
System.out
.println("请选择操作序号:\n1.添加书籍\n2.删除书籍\n3.显示所有书籍\n4.更改书籍信息\n5.统计书籍价格\n"); }
}

////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////

执行结果:(部分)

数组初始化
暂无图书,您可以先添加后查询
请选择操作序号:
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.统计书籍价格

java图书管理的一个小模块(增删改查,不使用数据库)的更多相关文章

  1. BitAdminCore框架应用篇:(二)创建一个简单的增删改查模块

    NET Core应用框架之BitAdminCore框架应用篇系列 框架演示:http://bit.bitdao.cn 框架源码:https://github.com/chenyinxin/cookie ...

  2. day84-仿照admin实现一个自定义的增删改查组件

    一.admin的使用 app01的admin.py文件: class BookConfig(admin.ModelAdmin): list_display=[] list_display_links= ...

  3. java springboot整合zookeeper入门教程(增删改查)

    java springboot整合zookeeper增删改查入门教程 zookeeper的安装与集群搭建参考:https://www.cnblogs.com/zwcry/p/10272506.html ...

  4. 【良心保姆级教程】java手把手教你用swing写一个学生的增删改查模块

    很多刚入门的同学,不清楚如何用java.swing去开发出一个系统? 不清楚如何使用java代码去操作数据库进行增删改查一些列操作,不清楚java代码和数据库(mysql.sqlserver)之间怎么 ...

  5. Go Web --- 创建一个Article的增删改查

    掌握数据的增删改查之后,就可以做一些小demo,巩固一下基础,让语法更加熟练,所以下面是按照Go web编程里面的文章管理操作,写的一个代码: package main import ( " ...

  6. java使用原生MySQL实现数据的增删改查以及数据库连接池技术

    一.工具类及配置文件准备工作 1.1 引入jar包 使用原生MySQL,只需要用到MySQL连接的jar包,maven引用方式如下: <dependency> <groupId> ...

  7. 一个Servlet处理增删改查的方法

    处理的思路是在servlet中定义不同的增删改查方法,页面请求 的时候携带请求的参数,根据参数判断调用不同的方法. package cn.xm.small.Servlet; import java.i ...

  8. TP5.1:数据库的增删改查操作(基于数据库操作)

    1.在app/index/controller文件夹下创建一个文件,名为:Operation 注意:起名一定要避开关键字,例如:mysql,curd等等,如果使用关键字起名,会造成报错! 在Opera ...

  9. 数据库Dao层编增删改查写,数据库事务,数据库升级

    数据库事务 有两个特点 1.安全性 情景:正常的转账行为,这个时候如果出现停电等异常,已经扣钱但是没有加钱:这个时候就可用数据库事务解决问题 2.高效性: 使用数据库事务添加享受同数量的数据,对比耗时 ...

随机推荐

  1. SharePoint Configuration Wizard - Unable to upgrade SharePoint Products and Technologies because an upgrade is already in progress

    故障描述 当要运行SharePonit Products and Technologies Configuration Wizard的时候,出现了如下图所示的错误提示. 错误信息为: Unable t ...

  2. Oracle 树操作(select…start with…connect by…prior)

    摘自:http://www.cnblogs.com/linjiqin/archive/2013/06/24/3152674.html oracle树查询的最重要的就是select…start with ...

  3. 清理session的案例

    and OPNAME ='Sort Output'; and OPNAME ='Sort Output'; and OPNAME ='Sort Output' ); select 'alter sys ...

  4. Neil·Zou 语录一

    1  既然选择了远方 Since I’ve chosen to go far    便只顾风雨兼程 I will just walk down the path I chose step by ste ...

  5. PCB板的质量可接受性标准 IPC-A-600H 中文版下载

    对于电子行业的小伙伴来说,经常要找PCB板厂打板,总难免遇到跟板厂因PCB上的质量缺陷扯皮的时候,这是就要有一份公认PCB质量可接受性标准作为最终PCB产品的验收标准,即IPC-A-600标准规范. ...

  6. new一个JAVA对象的时候,内存是怎么分配的?

    new 对象的时候 在内存中 建立一个 内存区域 就是堆内存 用来存放对象的属性,当new完对象把对象的地址赋给对象的引用变量 这个时候 又在内存中建立一个区域 叫栈内存 用来存储 引用变量 引用变量 ...

  7. xcode国际化工具genstrings体验总结

    genstrings是苹果推出的一个用于自动从代码的nslocalizedstring等提取生成国际化字符串的工具: xcode的国际化文件方案一直以来都不太智能,我记得很久以前.strings文件库 ...

  8. QMap

    #include <QCoreApplication> #include<QMap> #include<QDebug> int main(int argc, cha ...

  9. Inventory Costing in AX 2009

    I wanted to explore some scenarios that illustrate a few important concepts related to inventory cos ...

  10. ECshop通过文章分类的ID实现不同模板

    当客户需要想要用不同模板来实现文章页面时,文章就需要实现调用不同模板的内容,着手点就是它的分类ID.直接通过分类ID来判断一下,现在68ecshop技术来告诉你该怎么做 方法如下所示: 一.打开根目录 ...