2016-11-11 62 views
-4

使用以下规范构建ShoppingCart类。注意:有些可以是方法存根(空方法),在后面的步骤中完成。如何声明并将项目添加到ArrayList

  • 私人领域
  • 字符串客户名称 - 在ddefault构造函数初始化为 “无”
  • 字符串的currentdate - 初始化中ddefault构造为 “2016年1月1日”
  • 的ArrayList cartItems
  • 默认的构造
  • 以客户名称和日期为参数的参数化构造函数(1 pt)

  • 公共成员方法

    • getCustomerName()访问(1分)
    • GETDATE()访问(1分)
    • 的addItem()
    • 添加到cartItems数组中的项。具有参数ItemToPurchase。不返回任何东西。 ...

行,所以我迷路了,绕ArrayList中cartItems。我不确定是否应该将其声明为Stringint。也不知道我是如何宣布它是正确的或者它被要求完成的方式。我还创建了一个名为ItemToPurchase的课程,并且我需要创建一个名为ShoppingCartManager的类,该类具有主要方法。这里是我到目前为止(我花了一些东西出来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); 
    } 
} 

回答

0

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

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