私は deque (両端の que) クラスに取り組んでいます。私はまだすべてのメソッドでやるべきことがたくさんありますが、コーディングをしながらテストできるようにしたいと思っています。スレッド "main" java.lang.NoSuchMethodError: main で例外が発生しています。これを修正するための助けをいただければ幸いです。
前もって感謝します、ここに私のコードがあります:
class DNode<E>
{
private E data;
private DNode<E> lLink, rLink;
public DNode(E iData, DNode<E> lefLink, DNode<E> riteLink)
{
data = iData;
rLink = riteLink;
lLink = lefLink;
}
public E getData()
{return data;}
public void setData(E aData)
{data = aData;}
public DNode<E> getRightLink()
{return rLink;}
public void setRightLink(DNode<E> righty)
{rLink = righty;}
public DNode<E> getLeftLink()
{return lLink;}
public void setLeftLink(DNode<E> lefty)
{lLink = lefty;}
public void addNodeAfter(E item)
{rLink = new DNode<E>(item, this, rLink);}
public void removeNodeAfter()
{rLink = rLink.getRightLink();}
}
class Deque<E>
{
private int manyNodes = 0;
private DNode<E> front, rear;
public Deque()
{
manyNodes = 0;
front = null;
rear = null;
}
public boolean isEmpty()
{return (manyNodes == 0);}
public void addAtEnd(E item)
{
if(isEmpty())
{
front.addNodeAfter(item);
rear = front;
}
else
{
rear.addNodeAfter(item);
rear = rear.getRightLink();
}
manyNodes++;
}
public void addtAtFront(E item)
{
if(isEmpty())
{
front.addNodeAfter(item);
rear = front;
}
else
{
front.addNodeAfter(item);
}
}
public void removeFirst() throws NoSuchFieldException
{
if(manyNodes == 0)
throw new NoSuchFieldException();
front.removeNodeAfter();
}
public void removeLast() throws NoSuchFieldException
{
if(manyNodes == 0)
throw new NoSuchFieldException("Ya dun goofed");
rear.removeNodeAfter();
}
public void print()
{
DNode<E> trace;
for(trace = front; trace.getRightLink() != null; trace = trace.getRightLink())
System.out.println(trace.getData());
}
}
class DequeRun
{
public static void main(String[] args)
{
Deque<String> test1 = new Deque<String>();
test1.addAtEnd("Ryan");
test1.addAtEnd("Mike");
test1.print();
}
}