0
Java API Linked Listクラスを使用していないJavaでリンクリストを作成しています。これは、多項式を表示し、リンクされたリストにデータを格納するための計算機を作成しています。多項式は、リストの先頭に追加され、サイズ順に表示されます(ただし、これはまだ動作しません)。私が苦労しているのは、addTermメソッドです。これはリストを反復してリストの先頭に追加することになっています。私はJavaには新しいものではありませんが、基本的な知識しかありません。誰かがそれを助けることができればそれは非常に高く評価されるだろうイテレータJavaリンクリスト
import java.util.Iterator;
import javax.xml.soap.Node;
public class PolyData implements Polynomial {
private static class Node{
Node next;
public Term term;
}
private static Node head;
public Iterator<Term> iterator() {
// TODO Auto-generated method stub
return new LinkedList(head);
}
public static void insertAtHead(Term term) {
Node newNode = new Node();
newNode.term = term;
newNode.next = head;
head = newNode;
}
public static void insertAfter(Term term, Node insertPoint) {
Node newNode = new Node();
newNode.term = term;
newNode.next = insertPoint.next;
insertPoint.next = newNode;
}
@Override
public void addTerm(Term term) {
Iterator<Term> iter = LinkedList.iterator();
while (iter.hasNext()) {
Node newNode = new Node();
newNode.term = term;
newNode.next = head;
head = newNode;
}
}
public void addPoly(Polynomial poly) {
//not implemented
}
@Override
public void multiplyByPoly(Polynomial poly) {
//not implemented
}
public static class LinkedList implements Iterator<Term> {
private Node current;
private LinkedList(Node start) {current=start;}
public static Iterator<Term> iterator() {
// TODO Auto-generated method stub
return new LinkedList(head);
}
@Override
public boolean hasNext() {return (current != null);}
@Override
public Term next() {
Term result = current.term;
current = current.next;
return result;
}
@Override
public void remove() {
throw new UnsupportedOperationException("Not supported");
}
}
@Override
public void clear() {
// TODO Auto-generated method stub
}
}
のpublic staticイテレータイテレータを挿入したときに(){ // TODO自動生成されたメソッドスタブが新しいLinkedListの(頭を)返し 。 }頭の宣言はどこですか? –
efekctive
@efekctiveそのプライベートスタティックノードヘッド。 –
静的であってはいけません。それ以外の場合は、すべてのリストで共有されます。第二にあなたが投稿するコードはコンパイルするか、すべての部分を見るべきである – efekctive