できるだけシンプルにしようとします。 Iペットのクラスは、オブジェクトた:coor
2台のフロート、経度と緯度を含有するだけの目的であるオブジェクトを使ったリンクリストでのJava toStringの印刷エラー
public class Pet {
private String name;
private int treats;
private Coordinate coor;
}
留意されたいです。
実行可能クラスでは、私のPetList(リンクリスト)クラスの 'printAll()関数を呼び出します。私は私のペットクラス内の私のtoString関数を呼び出す私のprintAll()関数で
PetList List = new PetList();
... // adding nodes to my linkedlist etc.
...
List.printAll();
:私のtoString()関数で
public void printAll() {
LinkNode temp = first;
while(temp != null) {
System.out.print(toString());
System.out.println();
temp = temp.next;
}
}
、私はStringBuilderのを作成します。
// Most of this appending is formatting
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(name);
// sb.append("{");
sb.append(treats);
// sb.append("} ");
//if(coor.getLatitude() >= 0) {
// sb.append("+");
//}
sb.append(coor.getLatitude());
// sb.append(" ");
//if(coor.getLongitude() >= 0) {
// sb.append("+");
//}
sb.append(coor.getLongitude());
return sb.toString();
}
I EOFまで入力を読む:
add 3.0 3.0 Three // add(adds a node) with 2 floats (longitude & latitude) and Three(a name)
add 2.0 2.0 Two
add 1.0 1.0 One
しかし、私は、印刷(のprintAll()を呼び出します)を呼び出したときに、私はこの取得:
add 3.0 3.0 Three
add 2.0 2.0 Two
add 1.0 1.0 One
print
[email protected]
[email protected]
[email protected]
をしかし、私はこれが起こるしたい:
add 3.0 3.0 Three
add 2.0 2.0 Two
add 1.0 1.0 One
print
One{0} +1.0, +1.0
Two{0} +2.0, +2.0
Three{0} +3.0, +3.0
私はわからないが、私は代わりに参照を取得しています実際のデータはどれですか?それは私が示したコードの何かに起因するのでしょうか?それとも別の場所ですか?どんな助けでも感謝しています!
編集:ここでは
Here is the beginning of my PetList class:
public class PetList {
protected class LinkNode {
protected LinkNode next;
protected LinkNode prev;
protected Pet animal;
public LinkNode() {
next = prev = null;
}
}
が、私は今のtoString関数を呼び出す方法です:
//public void printAll() {
// LinkNode temp = first;
// while(temp != null) {
System.out.print(animal.toString());
// System.out.println();
// temp = temp.next;
// }
//}
そしてここでは、コンパイルしようとしたとき、私は取得していますエラーです:
PetList.java:36: error: cannot find symbol
System.out.print(animal.toString());
^
symbol: variable animal
location: class PetList
あなたPetListクラスは、独自のtoString()メソッドを持っています、
LinkNode
のインスタンス変数のですか?今はObject.toString()メソッドを使用しています。 – Jasonああ私の良さそうではありませんので、私は今までこのtoStringメソッドを呼び出していませんでした。 – Coder117
私のPetListクラスでは、私は 'ペットペットを保護しました 'エラー。 ./PetList.java:37:エラー:シンボルが見つかりません System.out.print(animal.toString()); ' – Coder117