问题出现在以下代码的toString方法中:
import java.util.*;
public class LinkedDeque<T> // implements Deque<T>
{
private Node head;
private Node tail;
private int size;
private class Node // Node class
{
T info;
Node next;
Node prev;
private Node (T info, Node prev, Node next)
{
this.info = info;
this.prev = prev;
this.next = next;
}
private T getInfo()
{
return this.info;
}
private Node getNext()
{
return this.next;
}
private Node getPrev()
{
return this.prev;
}
}
public LinkedDeque ()
{
this.head = null;
this.tail = null;
this.size = 0;
}
public static void main()
{
}
public int size ()
{
Node count = head;
while(count.getNext() != null)
{
size++;
count = count.getNext();
}
return size;
}
public String toString()
{
return this.getInfo();
}
public boolean isEmpty()
{
return size() == 0;
}
}
我的编译器一直给我一个错误,说明缺少getInfo方法。任何帮助,将不胜感激!最初,我认为这是因为Node类是私有的,但Node getNext()方法在方法size()中工作正常。
答案 0 :(得分:2)
toString
方法是LinkedDeque
而非Node
的成员。 LinkedDeque
没有getInfo
方法。
不确定你想要实现的是什么,但你可以考虑将该方法转移到Node
类......