質問編集履歴
1
public StringBuilder rt = new StringBuilder("");をフィールドに追加した。
test
CHANGED
File without changes
|
test
CHANGED
@@ -10,6 +10,8 @@
|
|
10
10
|
|
11
11
|
public Node right = null; // 右の子ノード
|
12
12
|
|
13
|
+
public StringBuilder rt = new StringBuilder("");
|
14
|
+
|
13
15
|
public String rt_expression; //後置記法の式
|
14
16
|
|
15
17
|
|
@@ -17,8 +19,6 @@
|
|
17
19
|
public void traversePostorder()
|
18
20
|
|
19
21
|
{
|
20
|
-
|
21
|
-
StringBuilder rt = new StringBuilder("");
|
22
22
|
|
23
23
|
// 左右に子ノードをもつ場合、表示する前にノードを再帰的に巡回する
|
24
24
|
|
@@ -34,15 +34,23 @@
|
|
34
34
|
|
35
35
|
//rtにexpressionを追加していって後置記法の数式を完成させる
|
36
36
|
|
37
|
-
rt.append(expression);
|
37
|
+
this.rt.append(expression);
|
38
|
-
|
39
|
-
this.rt_expression = rt.toString();
|
40
38
|
|
41
39
|
// 巡回を終えた後でノードの演算子または項を表示する
|
42
40
|
|
43
41
|
// (読みやすさのために項の後に空白を補って表示する)
|
44
42
|
|
45
43
|
System.out.print(expression + " ");
|
44
|
+
|
45
|
+
}
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
public String getRtExpression() {
|
50
|
+
|
51
|
+
this.rt_expression = this.rt.toString();
|
52
|
+
|
53
|
+
return this.rt_expression;
|
46
54
|
|
47
55
|
}
|
48
56
|
|