本任务要求:使用所学知识编写一个基于控制台的购书系统,实现购书功能,输出所有图书的信息,包括每本书的编号,书名,单价,库存。

顾客购买书时,根据提示输入图书编号来选需要的书,并根据提示输入购买书的数量,

购买完成后,输出顾客的订单信息,包括订单号,订单明细,订单总额。

此案例分为四个类

Book ,Order , Orderitem,Test(注意开头字母大写)

Book类

此类有四个参数,id编号 name姓名 price价格 stock库存。

1.无参构造方法

2.有参构造方法

3.getter and setter方法。

//图书类
public class Book {private int id;private String name;private double price;private int stock;
//空参数public Book() {}public Book(int id, String name, double price, int stock) {this.id = id;this.name = name;this.price = price;this.stock = stock;}
//get and set 方法public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public int getStock() {return stock;}public void setStock(int stock) {this.stock = stock;}
}

Order类

//订单类
public class Order {
private String orderId;
private OrderItem[] items=new OrderItem[3];
private double totalMoney;public Order() {}public Order(String orderId) {this.orderId = orderId;}public String getOrderId() {return orderId;}public void setOrderId(String orderId) {this.orderId = orderId;}public OrderItem[] getItems() {return items;}public void setItems(int i,OrderItem item ) {items[i]=item;}public double getTotalMoney() {for (int i = 0; i < items.length; i++) {totalMoney += items[i].getNum()*items[i].getBook().getPrice();}return totalMoney;}public void setOrderId(int i, OrderItem item) {}
}

OrderItem类

//订单项类
public class OrderItem {private Book book;private int num;public OrderItem() {}public OrderItem(Book book, int num) {this.book = book;this.num = num;}public Book getBook() {return book;}public void setBook(Book book) {this.book = book;}public int getNum() {return num;}public void setNum(int num) {this.num = num;}
}

Test类

下列代码调用了三种方法来完成程序,

1.打印图书信息

2.购买方法

3.打印订单信息

import java.util.Scanner;public class test {public static void main(String[] args) {Book[] books=new Book[3];//调用打印图书信息的方法printBooks(books);//调用购买方法Order order = buy(books);//打印订单信息printInfo(order);}private static void printInfo(Order order) {System.out.println("订单编号"+order.getOrderId());System.out.println("图书名称\t图书单价\t购买数量");OrderItem[] items=order.getItems();for (int i = 0; i < items.length; i++) {System.out.println(items[i].getBook().getName()+ "\t" +items[i].getBook().getPrice()+"\t"+items[i].getNum());}System.out.println("-----------------------------------");System.out.println("总金额"+order.getTotalMoney());}private static Order buy(Book[] books) {Order order=new Order("001");Scanner sc=new Scanner(System.in) ;for (int i = 0; i < books.length; i++) {System.out.println("请输入图书编号");int id=sc.nextInt();System.out.println("请输入购买数量");int num= sc.nextInt();OrderItem item=new OrderItem(books[id-1],num);order.setItems(i,item);}return order;}private static void printBooks(Book[] books) {books[0]=new Book(1,"java教程图书", 10,20);books[1]=new Book(2,"HTML教程图书", 20,20);books[2]=new Book(3,"python教程书", 30,20);System.out.println("--------------------------------------------");System.out.println("图书编号\t图书名称\t\t图书单价\t图书库存");for (int i = 0; i < books.length; i++) {Book b=books[i];System.out.println(b.getId()+"\t\t"+b.getName()+"\t"+b.getPrice()+"\t\t"+b.getStock());}}}

结果展示

下图没有排列整齐,(如果觉得不好看可以自己在上面输入制表符进行调节)

【案例3-1】(基于控制台的购书系统)相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. 塔防游戏的路径寻找算法分析
  2. Python带参数的装饰器
  3. (14)FPGA触发器与寄存器区别
  4. m126a linux驱动下载,【惠普m126a驱动】惠普m126a驱动下载 v15.0 官方版-开心电玩
  5. 硬盘的IDE、AHCI和NVMe模式区别
  6. [Android 4.4.3] 泛泰A860 Omni4.4.3 20140610 RC2.0 三版通刷 by syhost
  7. Java修改文件夹名称
  8. org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates
  9. Adobe illustrator(AI) 矢量图形软件 | 图像描摹(怎么把白色背景色的图片背景变为透明色)
  10. My Thirty-fifth Page - 最大二叉树 - By Nicolas
  11. Canvas 烟花合集 -- 将粉丝头像做成烟花在天空绽放✨
  12. Java中的范围限定词
  13. Android攻城狮认识ContextMenu
  14. SpringBoot 自动装配原理解析
  15. 相机标定—标定图片拍摄规范(附棋盘图)
  16. cesium 鼠标点击事件获取各种坐标
  17. MySQL 之 ROUND 函数四舍五入的陷阱
  18. 灵性图书馆:好书推荐-《巫士唐望的教诲》
  19. IE浏览器默认主页被篡改,无法改回
  20. RTrPPG: An Ultra Light 3DCNN for Real-Time Remote Photoplethysmography

热门文章

  1. 全球直播的罗胖跨年演讲背后技术支撑故事——罗辑思维首席架构师方圆访谈...
  2. 按图搜索1688商品(拍立淘) 中国站
  3. Unity3d实现扭动挤压浏览效果
  4. 测试工程师刚入职如何快速熟悉需求并输出测试用例?
  5. 树莓派配置红外遥控及关联python程序
  6. HyperLedger Cello的部署操作
  7. Camera2架构学习(二)——CameraServer和CameraProvider的启动初始化
  8. 用python制作飞机大战_Python制作AI且mini版飞机大战
  9. python 调用函数实现——斐波纳契数列
  10. java配置lib_javalib中文 java中的lib什么作用呢