オブジェクトをリンク リストに入れるのに問題があります。コードは次のとおりです。
if(runTypes[k]==EMPTY){
Empty creature = new Empty();
}
else if(runTypes[k]==FISH){
Fish creature = new Fish();
}
else if (runTypes[k]==SHARK){
Shark creature = new Shark(starveTime);
}
DLinkedList.insertEnd(creature,runLengths[k]);
ただし、エラーが発生します:
RunLengthEncoding.java:89: cannot find symbol
symbol : variable creature
location: class RunLengthEncoding
DLinkedList.insertEnd(creature,runLengths[k]);
^
1 error
Empty() は、Fish と Shark のスーパー クラスです。
以下は、循環型 LinkedList クラスの insertEnd メソッドのコードです。
public void insertEnd(Empty creature, int number) {
DListNode3 node = new DListNode3(creature);
head.prev.next = node;
node.next = head;
node.prev = head.prev;
head.prev=node;
node.amount = number;
size++;
}
ノードのコードは次のとおりです。 public class DListNode3 {
public Empty creature;
public DListNode3 prev;
public DListNode3 next;
public int amount;
DListNode3(Object creature) {
this.creature = creature;
this.amount = 1;
this.prev = null;
this.next= null;
}
DListNode3() {
this(null);
this.amount = 0;
}
}
どうすればいいのかわからず、OOP は初めてです。何かアドバイス?