1~9を表示するリストなのですが、最後のfor文で二度繰り返して表示されます。どうしてこうなるのかご教示お願いします。
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9
このように表示されてしまいます。
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
のようにするにはどうしたらよいのでしょうか。
以下、Nodeクラス
package NodeExec;
public class Node {
int data; Node next; Node (int data,Node next) { this.data = data; this.next = next; }
}
以下、問題のプログラムです。
package NodeExec;
public class NodeLoop_02 {
public static void main(String[] args) { int i = 0; int DUMMY = 0; Node list = new Node(DUMMY,null); Node first = list; while (list != null) { i++; list.next = new Node(i, null); list = list.next; System.out.print(" " + list.data); if (i == 9) { break; } } System.out.println(); for (i = 1; i <= 9; i++) { list.next = new Node(i, null); list = list.next; System.out.print(" " + list.data); } System.out.println(); for (list = first.next; list != null; list = list.next) { System.out.print(" " + list.data); } }
}