Java开发基于控制台的购书系统

题目

开发基于控制台的购书系统。具体要求如下:
(1)输出所有图书的信息:包括每本图书的图书编号、图书名称、图书单价和库存数量。
(2)顾客购买图书:根据提示输入图书编号来购买图书,并根据提示输入购买图书数量(用户必须连续购书三次)。
(3)购书完毕后输出顾客的订单信息:包括订单号、订单明细、订单总额和订单日期。
系统运行界面如图-1所示。

代码

Book.java
public class Book {
// 图书编号
private String number;
// 图书名称
private String name;
// 图书单价
private int price;
// 库存数量
private int stockNumber;

public Book() {super();
}public Book(String number, String name, int price, int stockNumber) {super();this.number = number;this.name = name;this.price = price;this.stockNumber = stockNumber;
}public String getNumber() {return number;
}public void setNumber(String number) {this.number = number;
}public String getName() {return name;
}public void setName(String name) {this.name = name;
}public int getPrice() {return price;
}public void setPrice(int price) {this.price = price;
}public int getStockNumber() {return stockNumber;
}public void setStockNumber(int stockNumber) {this.stockNumber = stockNumber;
}@Override
public String toString() {return "编号:" + number + " 书名:" + name + " 价格:" + price + " 库存量:" + stockNumber;
}

}

Order.java
public class Order {
// 订单号
private long OrderNumber;
// 订单细节:书本编号、书本名字、单价
private String OrderInfo;
// 订单总额
private int OrderSum;
// 订单日期
private String OrderData;

public Order() {super();
}public Order(long orderNumber, String orderInfo, int orderSum, String orderData) {super();OrderNumber = orderNumber;OrderInfo = orderInfo;OrderSum = orderSum;OrderData = orderData;
}public long getOrderNumber() {return OrderNumber;
}public void setOrderNumber(long orderNumber) {OrderNumber = orderNumber;
}public String getOrderInfo() {return OrderInfo;
}public void setOrderInfo(String orderInfo) {OrderInfo = orderInfo;
}public int getOrderSum() {return OrderSum;
}public void setOrderSum(int orderSum) {OrderSum = orderSum;
}public String getOrderData() {return OrderData;
}public void setOrderData(String orderData) {OrderData = orderData;
}@Override
public String toString() {return "个人订单" + " " + "订单编号:" + OrderNumber + " " + OrderInfo + " " + "图书总价:" + OrderSum+ " " + "创建时间:" + OrderData;
}

PurchaseBookSystem.java
public class PurchaseBookSystem{

ArrayList<Book> list = new ArrayList<Book>();
//存放书本信息
Book[] arrBook = new Book[20];
//存放订单信息
Order[] arrOrder = new Order[20];public static void main(String[] args) {PurchaseBookSystem pbs = new PurchaseBookSystem();//存入图书信息pbs.InputBookInfo();//购书系统主页面pbs.mainPage();
}/*** 购书系统主页面*/
public void mainPage(){Scanner sc = new Scanner(System.in);for(int i = 0; i < 100; i++){System.out.println("*****************************");System.out.println("\t通理工购书系统");System.out.println("\t1.图书信息");System.out.println("\t2.购买图书");System.out.println("\t3.订单信息");System.out.println("\t4.退出系统");System.out.print("\t请选择你需要的业务:");int number = sc.nextInt();switch (number) {case 1://输出图书信息bookInfo();break;case 2://购买图书bookBought();break;case 3:lookOrder();break;case 4:System.out.println("退出成功!");return;default:System.out.println("请输入正确的数字!");break;}}
}/*** 存入图书信息*/
public void InputBookInfo(){Book book1 = new Book("0001","红楼梦",298,999);Book book2 = new Book("0002","西游记",49,999);Book book3 = new Book("0003","三国演义",98,999);Book book4 = new Book("0004","水浒传",128,999);Book book5 = new Book("0005","鲁滨逊漂流记",68,999);arrBook[0] = book1;arrBook[1] = book2;arrBook[2] = book3;  arrBook[3] = book4;arrBook[4] = book5;for (Book book : arrBook) {list.add(book);}
}/*** 输出图书信息*/
public void bookInfo(){for(int i = 0; i < list.size(); i++){if(list.get(i) != null){System.out.println(list.get(i));}}
}/*** 购买图书*/
public void bookBought(){int k = 0;Scanner sc = new Scanner(System.in);for(int i = 0; i < 3; i++){System.out.print("请输入您需要购买的图书编号:");String number = sc.next();//此处判断是否存在图书编号有问题,输入0002的话,循环if判断不存在,会走到else打印输出错误,走第二次才能查找到,会多打印一次输入错误

// for(int z = 0; z < list.size(); z++){
// if(number.equals(arrBook[z].getNumber())){
// System.out.println(“输入正确”);
// }else{
// System.out.println(“输入错误”);
// return;
// }
// }
for(int j = 0; j < list.size(); j++){
if(number.equals(arrBook[j].getNumber())){
System.out.println(arrBook[j]);
System.out.print(“请输入您需要购买的数量:”);
int boughtNumber = sc.nextInt();
//当库存数量大于需要购买数量的时候可以购买
if(arrBook[j].getStockNumber() > boughtNumber && arrBook[j].getStockNumber() > 0){
//修改库存
arrBook[j].setStockNumber(arrBook[j].getStockNumber() - boughtNumber);
//生成订单
createOrder(k,arrBook[j],boughtNumber);
k++;
break;
}else{
System.out.println(“超过可购买数量!请重新购买!”);
break;
}
}
}
}
}

/*** 生成订单*/
public void createOrder(int i,Book arr,int boughtNumber){long orderNumber = i + 10001;int OrderSum = arr.getPrice() * boughtNumber;SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String OrderData = date.format(new Date());String OrderInfo = "图书编号:" + arr.getNumber() + " "+ "图书名:" + arr.getName() + " " + "图书价格:" + arr.getPrice();        Order order = new Order(orderNumber,OrderInfo,OrderSum,OrderData);arrOrder[i] = order;System.out.println("订单已提交!");System.out.println("订单号:" + orderNumber + " " + OrderInfo + " " + "订单金额:" + OrderSum + " " + "订单生成时间:" + OrderData);
}/*** 查看订单*/
public void lookOrder(){for(int i = 0; i < arrOrder.length; i++){if(arrOrder[i] != null){System.out.println(arrOrder[i]);}}
}

}

实现效果


Java开发基于控制台的购书系统相关推荐

  1. java程序当当网购书系统怎么运行_Java实现基于控制台的购书系统基本操作

    Java开发基于控制台的购书系统 题目 开发基于控制台的购书系统.具体要求如下: (1)输出所有图书的信息:包括每本图书的图书编号.图书名称.图书单价和库存数量. (2)顾客购买图书:根据提示输入图书 ...

  2. 购买流程图java_Java实现基于控制台的购书系统基本操作

    Java开发基于控制台的购书系统 题目 开发基于控制台的购书系统.具体要求如下: (1)输出所有图书的信息:包括每本图书的图书编号.图书名称.图书单价和库存数量. (2)顾客购买图书:根据提示输入图书 ...

  3. 任务一:基于控制台的购书系统 java实验报告

    目录 一.实验目的及要求 二.实验环境 三.实验内容 四.实验步骤 五.调试过程及实验结果 六.总结 七.源程序清单 任务一:基于控制台的购书系统 任务目的 理解和掌握面向对象的设计程序 会用类图进行 ...

  4. Java基础案例3-1:基于控制台的购书系统

    [案例3-1]基于控制台的购书系统 [案例介绍] 伴随互联网的蓬勃发展,网络购书系统作为电子商务的一种形式,正以其高效.低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的 ...

  5. java案例3:基于控制台的购书系统

    基于控制台的购书系统 顾客购买时,根据提示输入图书编号来选购需要的书及购买数的数量 购买完毕后,输出顾客的订单信息,包括订单号.订单明细.订单总额1.图书类(Book) 图书编号 id 图书名称 na ...

  6. 任务3-1 基于控制台的购书系统

    目录 题目 伴随互联网的蓬勃发展,网络购书系统作为电子商务的一种形式,正以其高效.低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的浏览和发布,更渴望着能够充分享受互联网 ...

  7. 基于控制台的购书系统

    基于控制台的购书系统 基于控制台的购书系统 基于控制台的购书系统 一.案例介绍 案例描述 二.案例目标 三.案例分析 四.总结 五.附录(运行截图) ` 一.案例介绍 案例描述 伴随互联网的蓬勃发展, ...

  8. [案例3-1]基于控制台的购书系统

    案例描述: 伴随互联网的蓬勃发展,网络购书系统作为电子商务的一种形式,正以其高效.低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的浏览和发布,更渴望着能够充分享受互联网 ...

  9. 【案例3-1】(基于控制台的购书系统)

    本任务要求:使用所学知识编写一个基于控制台的购书系统,实现购书功能,输出所有图书的信息,包括每本书的编号,书名,单价,库存. 顾客购买书时,根据提示输入图书编号来选需要的书,并根据提示输入购买书的数量 ...

  10. java实验报告:实验一 基于控制台的购书系统

    注:博主为初学java,此实验报告代码仅供参考,如有错误,还望指正. 水平有限,仅供参考 实验目的及要求 1.理解和掌握面向对象的设计程序 2.会用类图进行面向对象设计 3.掌握封装的实现及好处 4. ...

最新文章

  1. Mybatis基础知识点:trim标签的使用
  2. openresty开发系列16--lua中的控制结构if-else/repeat/for/while
  3. JMeter打开jmx文件出错CannotResolveClassException: org.apache.jmeter.protocol.ssh.sampler.SSHCommandSampler
  4. 新项目UX设计0到1的正确开启方式
  5. HTML5的新增功能
  6. Azure DevOps 中 Dapr项目自动部署流程实践
  7. 【2019浙江省赛 - E】Sequence in the Pocket(思维)
  8. python 截取字符串6位_在Python中从字符串获取x个最低有效位
  9. 微软企业库Unity学习笔记
  10. 【格雷码】LeetCode 89. Gray Code
  11. 网易用户认证架构设计 | session token | 公开课笔记-01
  12. win10安装Visual Stdio2010教程及问题解决办法
  13. 打开和切换文件的基础方法(DOS)命令
  14. 新疆智慧照明智能灯杆的十大功能,落地应用案例分享
  15. Trizol法提取RNA实验步骤
  16. 分享两篇适合程序员看的书籍——《谁动了我的奶酪》、《你的灯亮着吗?》读后感
  17. 基于JavaWeb的学生考勤系统
  18. 如何正确使用 GC.SuppressFinalize()?
  19. 数据、运营相关案例问答题(一)【牛客网:数据分析试题广场】
  20. 用 M1 MacBook 当主力开发机:程序员使用半个月后如是说

热门文章

  1. 黑苹果无线网卡的另一种解决方案
  2. Xenko C#开源游戏引擎
  3. latex 如何添加圆圈数字?
  4. MySql ALTER用法
  5. Java核心技术 卷I 基础知识 学习笔记(1)
  6. 社区养老管理系统开发满足老年人多样化、多层次的需求
  7. 计算机打印服务总是自动关闭,打印机服务怎么使用 打印机服务自动关闭怎么解决...
  8. 基于Java毕业设计智慧后勤系统源码+系统+mysql+lw文档+部署软件
  9. idea中代码字体大小调整
  10. 中国传统节日春节网页HTML代码 学生网页课程设计期末作业下载 春节大学生网页设计制作成品下载 DW春节节日网页作业代码下载 节日春节8页面