将项添加到销售中 - 将项对象传递到构造函数中的ArrayList - Java

时间:2017-11-23 10:05:50

标签: java arraylist

我正在尝试使用销售,退款等功能对在线商店进行建模。我的代码正常运行,但每次促销仅限1件商品。但是,我希望每次销售的商品数量与正常的购物体验一样。

我想过使用普通数组,但后来改为ArrayList;但是我想不出一个正确的方法,我可以将Items传递给这个数组,以及它应该如何在代码中进行布局。我见过其他人问过这类问题,但是我发现实际的对象没有找到好运。

标准项目扩展为书籍,地图或DVD,书籍定义如下:

Item book = new Book(40,4, 23.99, "G R R Martin", "One of the Game of Thrones Books", 893);

图书构造函数

public Book(int stockNum, int totalSold, double cost, String author, String title, int pages) {
        super(stockNum, totalSold, cost);
        this.author = author;
        this.title = title;
        this.pages = pages;
    }

Sale.java - 代码已经过简化以用于演示目的

public class NewSale {
    private static numSales = 0;
    private int customerId, saleId;
    private List<Item> itemList = new ArrayList<>();
    private double subtotal;

    public NewSale(List<Item> itemList, int customerId) {
        this.saleTime = saleTime;
        this.customerId = customerId;

        this.itemList = itemList;

        for (Item i : itemList) {
            this.subtotal += i.getCost();
        }

        numSales++;
        this.saleId = numSales;
    }

0 个答案:

没有答案