目录

题目

伴随互联网的蓬勃发展,网络购书系统作为电子商务的一种形式,正以其高效、低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的浏览和发布,更渴望着能够充分享受互联网所带来的更多便利。网络购书系统正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的图书。

分析​​​​​​​

代码

1.图书类(Book)

2.订单项类(OrderItem)

3.订单类(Order)

4.Demo

运行结果


题目

伴随互联网的蓬勃发展,网络购书系统作为电子商务的一种形式,正以其高效、低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的浏览和发布,更渴望着能够充分享受互联网所带来的更多便利。网络购书系统正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的图书

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

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

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

分析​​​​​​​

(1)通过任务描述可知,该系统中必须包括3个实体类,类名及属性设置如下:

1. 图书类(Book)

a) 图书编号(id)

b) 图书名称(name)

c) 图书单价(price)

d) 库存数量(storage)

2. 订单项类(OrderItem):

a) 图书(book)

b) 购买数量(num)

3. 订单类(Order):

a) 订单号(orderID)

b) 订单总额(total)

c) 订单项列表(items)

(2)由于购买图书时,需要选择图书的数量,所以需要在订单项类里定义获取图书对象以及图书数量的方法。

(3)由于需要指定订单项以及获取订单的订单列表、订单号、订单总额等信息,所以需要有订单列表、订单号、订单总额指定订单项等方法。

代码

1.图书类(Book)

public class Book {private int id;private String name;private double price;private int storage;public Book(int id,String name,double price,int storage) {this.id=id;this.name=name;this.price=price;this.storage=storage;}public int getId() {return id;}public String getName() {return name;}public double getPrice() {return price;}public int getStorage() {return storage;}}

2.订单项类(OrderItem)

public class OrderItem {private Book book;private int num;public OrderItem(Book book,int num) {this.book=book;this.num=num;}public Book getBook() {return book;}public int getNum() {return num;}
}

3.订单类(Order)

public class Order {private String orderId;private OrderItem items[];private double total;public Order(String orderId) {this.orderId=orderId;this.items=new OrderItem[3];}public String getOrderId() {return orderId;}public OrderItem[] getItems() {return items;}public double getTotal() {calTotal();return total;}public void setItem(OrderItem item,int i) {this.items[i]=item;}public void calTotal() {double total=0;for(int i = 0; i < items.length; i++) {total += items[i].getNum()*items[i].getBook().getPrice();}this.total=total;}}

4.Demo

import java.util.Scanner;public class Demo {public static void main(String[] args) {// TODO Auto-generated method stubBook books[]=new Book[3];outBooks(books);Order order=purchase(books);outOrder(order);}public static Order purchase(Book books[]) {Order order=new Order("00001");OrderItem item=null;Scanner in = new Scanner(System.in);for(int i=0;i<3;i++) {System.out.println("请输入图书编号选择图书:");int cid=in.nextInt();System.out.println("请输入购买图书数量:");int inum=in.nextInt();item=new OrderItem(books[cid-1],inum);order.setItem(item, i);System.out.println("请继续购买图书。");}in.close();return order;}public static void outOrder(Order order) {System.out.println("\n\t图书订单");System.out.println("图书订单号:"+order.getOrderId());System.out.println("图书名称\t购买数量\t图书单价");System.out.println("--------------------------------------------");OrderItem item[]=order.getItems();for(int i=0;i<item.length;i++) {System.out.println(item[i].getBook().getName()+"\t"+item[i].getNum()+"\t"+item[i].getBook().getPrice());}System.out.println("--------------------------------------------");System.out.println("订单总额:\t\t"+order.getTotal());}public static void outBooks(Book books[]) {books[0]=new Book(1,"Java教程",30.6,30);books[1]=new Book(2,"JSP教程",42.1,40);books[2]=new Book(3,"SSH架构",47.3,15);System.out.println("\t图书列表");System.out.println("图书编号\t图书名称\t图书单价\t库存数量");System.out.println("-------------------------------------------");for (int i=0;i<books.length;i++) {System.out.println(i+1+"\t"+books[i].getName()+"\t"+books[i].getPrice()+"\t"+books[i].getStorage());}System.out.println("-------------------------------------------");}
}

运行结果

任务3-1 基于控制台的购书系统相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. react+webpack 引入字体图标
  2. ffmpeg与x264有什么区别?
  3. 项目、SVN clean的一些事
  4. 内存申请与一级二级指针
  5. C++学习之路(一)
  6. 相互引用的初始化过程
  7. CTS(20)---CTS测试框架 -- V2版本
  8. ajax对象的属性和方法
  9. 开发经理是否应该写代码?​
  10. HDU 2457 DNA repair(AC自动机 + DP)题解
  11. 免费的分区软件MiniTool Partition Wizard Free
  12. notebook使用技巧
  13. java导入shp数据并解析
  14. debian 系统配置网易镜像源
  15. 只用一招!Python实现微信防撤回!
  16. 优麒麟桌面闪烁_优麒麟 19.10 正式发布—百尺竿头,更进一步
  17. 方寸间见万物灵机:我们在世界人工智能大会听到了哪些华为AI故事?
  18. linux命令kp使用方法,Linux 命令 使用
  19. C++11的std::is_same和std::decay使用与源码解析
  20. Android常用控件-02

热门文章

  1. 计算机怎样打印机驱动程序,详细教您电脑怎么安装打印机驱动
  2. 【保研】2021/2022复旦计算机夏令营/预推免面试
  3. MeshLab 2022.02 源码编译教程
  4. 《机器学习实战》学习第一章
  5. 德国Vector维克多全系列授权or达芬奇软件
  6. windows系统删除无用的服务
  7. json 学习之(json基础)
  8. chrome显示比例 Android,Android版Chrome在大尺寸平板电脑中将默认采用桌面模式
  9. javaweb学习笔记(佟刚老师笔记)
  10. 计算机毕业设计php小说阅读网站