2012-09-28 54 views
1

我會先寫下整個問題。java hw需要幫助瞭解

戒指是對當前項目有引用的項目的集合。一個操作 - 我們稱它爲advance - 將參考移動到集合中的下一個項目。當參考到達最後一個項目時,下一個前進操作將把參考移回第一個項目。戒指也有操作來獲得當前物品,添加物品和移除物品。項目添加和刪除的細節取決於您。

設計一個ADT(抽象數據類型)來表示一個對象環。通過描述它的目的,通過描述它的參數,並通過編寫它的頭部的僞代碼版本來指定每個操作。然後爲環的方法編寫一個Java接口。在代碼中包含javadoc樣式的註釋。

那麼它是說像環類操作,可以通過使用像T =項目的引用變量移動項目? Advance會在每次被調用時改變T代表一個不同的項目?喜歡的東西在UML格式....

ADT:環

+advance(): T // move T to next item in collection and if T reaches last item, move T back to the first item. 

+getCurrItem(): T // return item that T reference. 

+addItem(item T): void // add an item in for T, No return. 

+removeItem(Item: T): boolean // remove item that T reference and return true | false if it succeed or not. 

我在正確的軌道上,或我應該做些別的事情?

+0

你說得對。這就是它的意思。 –

+1

我想你會從老師那裏得到最準確的答案。即使我們試圖回答這個問題,唯一能真正瞭解老師要你做什麼的人就是老師。 –

+0

是的,我只是想我在我去之前先問問一下,然後試着找出它。並且由於+ advance()只是移動物品,所以我不能+ + advance():void .....因爲它不會返回任何東西,只是爲物品設置T。 – JavaStudent101

回答

2

這看起來對我來說是一個好的開始。現在你必須從事ADT的設計工作,並且假設你將存儲項目並將其結尾引用到開頭。這是一個數據抽象問題,您可以通過多種方式來實現實現,但是您可以高效地設計它。