2016-11-11 82 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); 
} 
相關問題