任务3-1 基于控制台的购书系统
目录
题目
伴随互联网的蓬勃发展,网络购书系统作为电子商务的一种形式,正以其高效、低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的浏览和发布,更渴望着能够充分享受互联网所带来的更多便利。网络购书系统正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的图书。
分析
代码
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 基于控制台的购书系统相关推荐
- 购买流程图java_Java实现基于控制台的购书系统基本操作
Java开发基于控制台的购书系统 题目 开发基于控制台的购书系统.具体要求如下: (1)输出所有图书的信息:包括每本图书的图书编号.图书名称.图书单价和库存数量. (2)顾客购买图书:根据提示输入图书 ...
- Java基础案例3-1:基于控制台的购书系统
[案例3-1]基于控制台的购书系统 [案例介绍] 伴随互联网的蓬勃发展,网络购书系统作为电子商务的一种形式,正以其高效.低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的 ...
- 任务一:基于控制台的购书系统 java实验报告
目录 一.实验目的及要求 二.实验环境 三.实验内容 四.实验步骤 五.调试过程及实验结果 六.总结 七.源程序清单 任务一:基于控制台的购书系统 任务目的 理解和掌握面向对象的设计程序 会用类图进行 ...
- 基于控制台的购书系统
基于控制台的购书系统 基于控制台的购书系统 基于控制台的购书系统 一.案例介绍 案例描述 二.案例目标 三.案例分析 四.总结 五.附录(运行截图) ` 一.案例介绍 案例描述 伴随互联网的蓬勃发展, ...
- [案例3-1]基于控制台的购书系统
案例描述: 伴随互联网的蓬勃发展,网络购书系统作为电子商务的一种形式,正以其高效.低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的浏览和发布,更渴望着能够充分享受互联网 ...
- java程序当当网购书系统怎么运行_Java实现基于控制台的购书系统基本操作
Java开发基于控制台的购书系统 题目 开发基于控制台的购书系统.具体要求如下: (1)输出所有图书的信息:包括每本图书的图书编号.图书名称.图书单价和库存数量. (2)顾客购买图书:根据提示输入图书 ...
- 【案例3-1】(基于控制台的购书系统)
本任务要求:使用所学知识编写一个基于控制台的购书系统,实现购书功能,输出所有图书的信息,包括每本书的编号,书名,单价,库存. 顾客购买书时,根据提示输入图书编号来选需要的书,并根据提示输入购买书的数量 ...
- java案例3:基于控制台的购书系统
基于控制台的购书系统 顾客购买时,根据提示输入图书编号来选购需要的书及购买数的数量 购买完毕后,输出顾客的订单信息,包括订单号.订单明细.订单总额1.图书类(Book) 图书编号 id 图书名称 na ...
- java实验报告:实验一 基于控制台的购书系统
注:博主为初学java,此实验报告代码仅供参考,如有错误,还望指正. 水平有限,仅供参考 实验目的及要求 1.理解和掌握面向对象的设计程序 2.会用类图进行面向对象设计 3.掌握封装的实现及好处 4. ...
最新文章
- react+webpack 引入字体图标
- ffmpeg与x264有什么区别?
- 项目、SVN clean的一些事
- 内存申请与一级二级指针
- C++学习之路(一)
- 相互引用的初始化过程
- CTS(20)---CTS测试框架 -- V2版本
- ajax对象的属性和方法
- 开发经理是否应该写代码?​
- HDU 2457 DNA repair(AC自动机 + DP)题解
- 免费的分区软件MiniTool Partition Wizard Free
- notebook使用技巧
- java导入shp数据并解析
- debian 系统配置网易镜像源
- 只用一招!Python实现微信防撤回!
- 优麒麟桌面闪烁_优麒麟 19.10 正式发布—百尺竿头,更进一步
- 方寸间见万物灵机:我们在世界人工智能大会听到了哪些华为AI故事?
- linux命令kp使用方法,Linux 命令 使用
- C++11的std::is_same和std::decay使用与源码解析
- Android常用控件-02