2016-04-18 54 views
1

我對Java非常新奇。我甚至不知道我是否在問正確的問題,但是我需要幫助。如何遍歷對象以確定其變量內容取決於類中有多少個對象?

所以我想設置一個對象的變量,取決於用戶輸入的內容。不過,我想使我的代碼更有效(通過重新使用的方法),這是我的問題:

if (Store.product1.productName.equals("")){ 
    Store.product1.setProductName(inputProduct); 
    Store.product1.setProductDemandRate(productDR); 
    Store.product1.setProductSetupCost(productSC); 
    Store.product1.setProductUnitCost(productUC); 
    Store.product1.setProductInventoryCost(productIC); 
    Store.product1.setProductSellingCost(productSP); 
    System.out.println(System.lineSeparator() + "Product " + inputWithCap + " Added Successfully. Returning to Main-Menu" + System.lineSeparator()); 
    displayMenu(); 
} 

所以,如果我有5個產品,這是否真的意味着我必須有大量的代碼5次?我無法想象,讓我到剛剛在某些參數推的方法,它會做休息:(

任何幫助,將不勝感激

注意:我不是。允許使用數組:(

+0

用6個參數創建一個函數,或者如果你想傳入Store.product1,然後在需要的時候調用函數。 –

+0

在GoF書籍中搜索Builder模式,或者如果您手頭有Joshua Bloch的Effective Java(第2版)書籍,請參閱第2條。 – Madhusudhan

+1

@JonnyHenly即使昨晚我無法弄清楚,你也知道。一旦我閱讀了你的評論並且實際嘗試了它,我就明白了。所以我這樣做的方式是將產品作爲參數發送,然後在我調用setter方法的方法中。簡單。謝謝 :) – John

回答

1

不,你不需要重複代碼幾次每次你需要一個新的產品,你應該創建一個,然後將其添加到存儲時,一旦值設置:

Product product = new Product(name); 
product.setDemandRate(demandRate); 
... 
store.add(product); 

商店需要能夠根據需要採取儘可能多的新產品。除了可以用來存儲它們的數組外,還有很多其他結構。