我会先写下整个问题。
指环是具有对当前项目的引用的项目集合。一个操作 - 让它调用它 - 将引用移动到集合中的下一个项目。当参考到达最后一个项目时,下一个前进操作会将参考值移回第一个项目。环还具有获取当前项目,添加项目和删除项目的操作。添加项目和删除项目的详细信息取决于您。
设计ADT(抽象数据类型)以表示对象环。通过声明其用途,描述其参数以及编写其标头的伪代码版本来指定每个操作。然后为环的方法编写Java接口。在代码中包含javadoc样式的注释。
所以它说Ring就像一个具有操作的类,可以通过使用像T = items这样的引用变量来移动项目吗?而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 :(得分:2)
这对我来说似乎是个好开始。现在,您必须设计ADT以及如何设置项目并将结尾引用到开头。这是一个数据抽象问题,您可以通过多种方式实现实现,但您可以自行设计它。