2017-10-21 187 views
0

我有一個創建基本雜貨店物品的類(class storeItems)。我想讓用戶根據我從用戶那裏收到的參數創建一個新的類對象來製作他們自己的雜貨店物品;即:「什麼名字?」 「多少錢?」 「有多少庫存?」等等。我也不想定義可以創建的對象的數量,以便它可以根據用戶的需要進行擴展。是否可以根據用戶的輸入創建類對象?

除了對象變量名稱本身以外,一切結構都是正確的。

我將如何去創建這些對象?我的谷歌搜索的大部分都建議使用地圖,但我不能爲我的生活弄清楚我將如何構建這個。

實際上,這就是我想要做的事:

public static Map<String,storeItems> storeItemMapper = new HashMap<String,storeItems>(); 

public static void itemBuilder(String mapObjName, String itemName, double price, int initialQuantity) { 
    storeItems object[i] = new storeItems(itemName, price, initialQuantity); 

    storeItemMapper.put(mapObjName, object[i]); 
} 
+1

問題出在哪裏?什麼是不符合你的計劃?順便說一下,類名稱應該是Camel Case標準,即StoreItems而不是storeItems。 – Doleron

回答

0

你被錯誤索引變量聲明:

storeItems object[i] = new storeItems(itemName, price, initialQuantity); 

嘗試:

storeItems object = new storeItems(itemName, price, initialQuantity); 

沒有指數[我]。正如我在評論中所說的那樣,您應該使用CamelCase標準來命名課程:

StoreItems object = new StoreItems(itemName, price, initialQuantity); 
+0

我知道該對象[我]不工作,我試圖找出是否有可能根據用戶輸入命名對象。這是解釋我想要做什麼的最好方式。舉個例子:我會要求輸入,然後我= reader.nextLine(); –

+0

你的意思是「命名對象」?設置對象的屬性值或進行映射(「名稱」 - >對象)以便以此名稱檢索對象?在最後一種情況下,Map接口及其實現(HashMap,Hashtable,TreeMap,...)可以提供一種短暫的機制(在內存中)。如果你需要持久化的東西,你應該使用序列化表單,基於文件的持久性,或者將對象保存到數據庫關係或非關係中。 – Doleron

+0

我想讓用戶給對象變量名稱的輸入。 –

相關問題