实现了一个简单的图书购买订单系统
主要类为:
Admin类:
购买方法:通过对预设的图书列表进行遍历。如果输入的购买图书编号与集合中的某个元素对象的图书编号相同,且此元素对象的库存大于购买数,购买数大于0:则在order对象的items属性列表中,新建一个OrderItem类型元素对象,将相对应的图书名称、价格、购买数量作为其属性,然后将book集合相应对象的库存减去购买数量。如果输入的购买数量大于库存:则输出库存不足。然后进行循环调用自身,或调用订单方法。
订单方法:对订单对象中的items集合属性进行判断,是否为空。不为空则遍历items集合属性,输出items集合中元素对象的属性,汇总购买总额,打印订单。
订单Order类:
属性:订单号(orderId)、订单总额(total)、订单日期(date)、订单项列表(items)
其中订单号(orderId)为随机数与字符串拼接,订单项列表(items)为ArrayList数据类型
图书订单项OrderItem类:
属性:图书名称(bookName)、图书单价(price)、购买数量(num)
图书Book类:
属性:图书编号(bookId)、图书名称(bookName)、图书单价(price)、库存数量(storage)
import java.util.*;
/**
* 主类测试
* @author 万星明
* @version 1.0
* @time
*/
public class Admin {
//生成全局Scanner对象sc,方便输入
static Scanner sc = new Scanner(System.in);
/**
* @Admin主类的主方法
* @param args
*/
public static void main(String[] args) {
//创建一个订单对象order
Order order = new Order();
//创建一个自定义Book泛型的ArrayList集合book
ArrayList book = new ArrayList();
//创建book集合中的元素对象
book.add(new Book("1","java教程",30.6,30));
book.add(new Book("2","jsp 指南",42.1,40));
book.add(new Book("3","SSH 架构",47.3,15));
System.out.println("=========图书列表=========");
System.out.println("