2014-09-28 90 views
0

所以我一直在爲我的java類工作,而我的教授的指令對我來說似乎很奇怪。我們創建了一個對象數組(它代表我們創建的一個類中的硬件工具,名爲ToolItem),現在我們試圖使用當前必須寫入的新類文件中的方法插入,搜索,排序和刪除數組中的項目,稱爲HardwareStore。將類型布爾型轉換爲對象數組,試圖理解邏輯

下面是用於插入方法,目前是什麼掛了我的指示一片段:

3)的插入方法,它作爲參數的ANME,ID,numberInStock,質量和baseprice並返回-1表示重複ID,一個0表示數組滿,一個正整數表示成功。它必須調用search來查找id是否已經在ToolItems數組中(如果是,則返回-1 - 不允許重複)否則,可以將新ToolItem放置在ToolItemArray的末尾。如果搜索沒有找到它(不允許有重複的ID),將一個傳入的TOOLID及其動詞,numberInStock,quality和baseprice放入數組中,使用ToolItem assign方法分配值: boolean oK = ToolItems [numberOfToolItems]。分配(姓名,編號,號碼,質量,價格); 如果確定是真的,增加numToolItems並返回1

,混淆我是該行:

boolean oK =ToolItems[numberOfToolItems].assign(name, id, numberinstock, quality,price); 

因爲他從來沒有規定如何寫「分配」法雷基本上做同樣的事情作爲非默認構造函數(它爲每個私有數據成員調用set方法,並將它們「分配」給當前正在評估的數組中的對象)。爲了使上面的語句工作,我將不得不添加一個返回類型的布爾值來分配,我不知道如何使用set方法。另一種選擇是:

boolean oK = (boolean) toolArray[index].assign(quality, name, id, numInStock, price); 

如果oK == true,我會然後將數據分配給陣列中的對象。我的兩個問題是:

  1. 這個邏輯是否有意義?我不太熟悉鑄造類型布爾值,所以我不確定它是否會正確評估表達式。
  2. 有沒有辦法給方法賦值添加一個布爾返回類型並使其工作?

我的分配方法是這樣的:

public void assign(int quality, String name, int id, int numInStock, double price) 
    { 
     setQuality(quality); 
     setToolName(name); 
     setID(id); 
     setNumberInStock(numInStock); 
     setPrice(price); 
    } 

我感謝所有幫助。這件事現在讓我感到非常困惑,因爲這不是我通常會做的事情,我們必須按照他指定的方式去做。謝謝大家!

+1

什麼是「在一個數組中轉換一個布爾值」來做到這一點? – Alboz 2014-09-28 20:32:48

回答

0

如果ToolItem包含assign方法和toolArrayToolItem秒的陣列,則對於該呼叫

boolean oK = toolArray[index].assign(arguments...); 

到不是一個編譯時間錯誤,assign必須返回一個boolean

public boolean assign(arguments...) { 

    // Do things 
    if (condition) 
     return true 
    else 
     return false 
} 

至於實施,條件是你的老師指定它應該是什麼。很多時候方法返回一個布爾值來指示操作是否成功完成,

您的assign返回void,因此您寫入的行是編譯時錯誤。你是否檢查了編譯器對你寫的內容的看法?

相關問題