第一个类:图书类:用于输出图书的信息;

//封装类,封装图书的信息
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) {super();this.id = id;this.name = name;this.price = price;this.storage = storage;}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 getStorage() {return storage;}public void setStorage(int storage) {this.storage = storage;}}

订单信息类:用于输出订单买的哪本书,购买数量

//订单的信息
public class order {private book book;//图书,就是指定买的哪本书private int num;//购买这本书的数量public order(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;}}

订单类用于输出订单号,订单总金额,订单列表;

//订单类,用于输出订单号,订单总额,订单项列表
public class orders1 {private String oid;//订单号private order[] items;//订单项列表private double total;//订单总额//创建构造函数public orders1(String oid) {super();this.oid = oid;//new出item数组this.items=new order[3];}public String getOid() {return oid;}public void setOid(String oid) {this.oid = oid;}//用于输出订单项列表public order[] getItems() {return items;}//因为是一个数组对象,所以要处理一下,用i来索引,把值传入成员变量里面public void setItems(order items,int i) {this.items[i] = items;}public double getTotal() {return total;}public void setTotal(double total) {this.total = total;}private void calcTotal() {//用来计算订单的总价格。double total=0;//getNum用来获取对于订单项的数量,items[i].getBook().getPrice()用来获取对应的图书.的价格for(int i=0;i<items.length;i++) {total +=items[i].getNum()*items[i].getBook().getPrice();}//不可以用return返回值,就用this关键字传值给成员变量this.total=total;}}

最后就是测试类;

import java.time.*;
import java.util.Iterator;
import java.util.Scanner;//购买书的测试类
public class BookDemo {public static void main(String[] args) {// TODO Auto-generated method stub//三本书就定义3book[] books=new book[3];//输出每个图书的信息,把books值传入里面outbook(books);//定义购买图书的方法,调用buy方法获得啦订单列表,用一个订单对象来接受orders1 order1=buy(books);//打印订单信息printfinfo(order1);}private static void printfinfo(orders1 order1) {// TODO Auto-generated method stubSystem.out.println("订单编号:"+order1.getOid());System.out.println("图书的名称\t\t图书单价\t\t购买数量");//把传进来的order1的订单项列表赋值给itemsorder[] items=order1.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("总金额:"+order1.getTotal());}private static orders1 buy(book[] books) {// TODO Auto-generated method stub//因为每购买一次会产生一个订单,要记得赋值,因为orders1类里面构造方法有参数//这里有一个快捷键alt+/,点击第二个orders1 order=new orders1("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 price=sc.nextInt();//再这里用到order订单信息类,把订单信息打到item里面,再order类里面的构造方法的形参列表是books的,所以需要用到books数组传值进去,id-1;order item=new order(books[id-1],price);//把订单信息保存到订单项列表里面,用这边的i来做索引order.setItems(item,i);}return order;}//这个方法这里要加static关键字,因为程序无法这个类里面无法调用非静态的方法public static void outbook(book[] books) {//书的存储books[0]=new book (1,"java程序设计",60,30);books[1]=new book (2,"程序设计",16,15);books[2]=new book (3,"c程序设计",12,20);//输出图书的信息System.out.println("--------------------------------------------------------------");System.out.println("图书编号\t\t图书名称\t\t图书价格\t\t图书库存");for(int i=0;i<books.length;i++) {//创建一个图书的临时变量,用于保存数组books的值book b=books[i];System.out.println(b.getId()+"\t\t"+b.getName()+"\t\t"+b.getPrice()+"\t\t"+b.getStorage());}}}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. CV算法复现(分类算法5/6):ResNet(2015年 微软亚洲研究院)
  2. Yii2.0 对数据库 查询的一些简单的操作(转载)
  3. 每天进步一点点《ML - 基于层次的聚类》
  4. 视频云面向海量用户的分布式视频处理技术
  5. python透明图处理_python – 强制matplotlib图的背景是透明的
  6. 1020. Tree Traversals
  7. Python常用正则表达式语法和写法
  8. html5介绍 之亮点特性
  9. php物料编码生成器,物料编码生成器软件
  10. c语言设计程序计算水仙花数,C语言水仙花数算法
  11. PyTorch的参数固定以及detach clone
  12. EMQ荣获工信部第五届“绽放杯”5G 应用 征集大赛智慧金融专题一等奖
  13. Ubuntu ssh-keygen远程登录
  14. Centos7快速搭建服务器加速
  15. 数字水印(DWT算法Python实现)
  16. Html+Css面试题及答案
  17. sorted()排序详解
  18. Unity 游戏存档框架实现
  19. 用Python的Pandas和Matplotlib绘制股票唐奇安通道,布林带通道和鳄鱼组线
  20. 深度剖析TCP三次握手,面试官拍案叫绝

热门文章

  1. (一)计算机网络的一些概念
  2. YTU-2324-约瑟夫环
  3. 分子间相互作用——偶极作用dipolar-dopolar interaction
  4. 10款常用的原型设计工具,包含一键生成原型工具
  5. 浅析linux下的回收站以及U盘中的.Trash文件夹
  6. java开发工具对比_Eclipse和STS哪个好_Java开发工具优缺点对比一览
  7. str.charAt(0);
  8. 特殊的一些vi指令(快捷键)
  9. 那么详细的智能工厂解决方案,爱了爱了!
  10. 关于ENVI中的ROI