2017-11-30 12 views
-2

toStringメソッドは、コンマで区切られたリスト内のすべてのノードの項目を含むStringを返します。リストが円形であれば、現在のバージョンは正しく動作しません。通常のリストと循環リストの両方で正しく動作するようにメソッドを修正する必要があります。しかし、イムは、私の現在のコードtoString()メソッドjava

public String toString(){ 
    String str = ""; 
    Node current = head; 
    while(current != null){ 
     str = str + current.getItem(); 
     current = current.next(); 
     if (current != null){ 
      str = str + ", "; 
     } 
    } 
    return str; 
} 

答えて

1

に苦しんであなたはほとんどあります。単にcurrent.next()を呼び出した後currentがないheadであることを確認してください。ループを抜け出し

current = current.next(); 
if (current == head) { 
    break; 
} 

がに", "を追加する前に行う必要がありますstr

注:+=での文字列の作成は、特にループ(why?)で最適ではありません。 StringBuilderexample)に切り替えることを検討してください。

関連する問題