如何声明和addItem到ArrayList

时间:2016-11-11 23:57:20

标签: java arrays arraylist

使用以下规范构建ShoppingCart类。注意:有些可能是最初的方法存根(空方法),需要在以后的步骤中完成。

  • 私人字段
  • String customerName - 在ddefault构造函数中初始化为“none”
  • String currentDate - 在ddefault构造函数中初始化为“2016年1月1日”
  • ArrayList cartItems
  • 默认构造函数
  • 参数化构造函数,它将客户名称和日期作为参数(1 pt)

  • 公共成员方法

    • getCustomerName()访问者(1 pt)
    • getDate()访问者(1 pt)
    • addItem()
    • 将项添加到cartItems数组。有参数ItemToPurchase。不归还任何东西。 ...

好的,所以我迷失在arrayList cartItems周围。我不确定是否应将其声明为Stringint。也不确定我是如何宣布它是正确的还是要求它完成的方式。我还创建了一个名为ItemToPurchase的类,我需要创建一个名为ShoppingCartManager的类,它具有main方法。这是我到目前为止所做的事情(我从ShoppingCart课程中取出了一些东西。)

ItemToPurchase.java

public class ItemToPurchase {

    private String itemName;

    private String itemDescription;

    private int itemPrice;

    private int itemQuantity;

    public ItemToPurchase() {
        itemName = "none";
        itemPrice = 0;
        itemQuantity = 0;
        itemDescription = "none";

    }

    public void setDescription(String description) {
        itemDescription = description;
    }

    public String getDescription() {
        return itemDescription;
    }

    public String printItemCost() {
        String str = getName() + " " + getQuantity() + " " + getPrice() + " " + (getQuantity() * getPrice());
        return str;
    }

    public String printItemDescription() {
        String k = getName() + " " + getDescription();
        return k;
    }

    public void setName(String name) {
        itemName = name;
    }

    public String getName() {
        return itemName;

    }

    public void setPrice(int price) {
        itemPrice = price;
    }

    public int getPrice() {
        return itemPrice;
    }

    public void setQuantity(int quantity) {
        itemQuantity = quantity;
    }

    public int getQuantity() {
        return itemQuantity;
    }

}

ShoppingCart.java

import java.util.ArrayList;

public class ShoppingCart {

    Scanner sc = new Scanner(System.in);
    private String customerName;
    private String currentDate;
    private ArrayList<String> cartItems = new ArrayList<String>();


    public ShoppingCart(String customerName, String currentDate) {
        customerName = "none";
        currentDate = "January 1, 2016";
    }

    public void getCustomerName() {

    }

    public void getDate() {

    }

    public void addItem(String itemName) {
        cartItems.add(itemName);
    }
}

1 个答案:

答案 0 :(得分:0)

在我看来,ArrayList不需要保留intString s,而是ItemToPurchase个实例。这意味着将ArrayList声明更改为private ArrayList<ItemToPurchase> cartItems = new ArrayList<ItemToPurchase>();这样您就可以将ItemToPurchase个对象添加到ArrayList,我相信您正在尝试这样做。然后更改addItem类中的ShoppingCart方法以接受ItemToPurchase个对象,而不是String个对象。

public void addItem(ItemToPurchase item) {
    cartItems.add(item);
}