我必須創建一個表達式樹。這是它的一個示例模型。但它顯示了我奇怪的字符,但不是我的字符串。 你能幫我解決這個問題嗎?還有一個問題:你能告訴我簡化我的代碼的方法嗎?這部分代碼呢?我可以沒有它嗎?Java中的二叉樹。 System.out.println問題()
public Iterator<TreeNode<T>> iterator() {
return null;
}
import java.util.*;
public class TreeNode<T> implements Iterable<TreeNode<T>> {
T data;
TreeNode<T> parent;
List<TreeNode<T>> children;
public TreeNode(T data) {
this.data = data;
this.children = new LinkedList<TreeNode<T>>();
}
public TreeNode<T> addChild(T child) {
TreeNode<T> childNode = new TreeNode<T>(child);
childNode.parent = this;
this.children.add(childNode);
return childNode;
}
public Iterator<TreeNode<T>> iterator() {
return null;
}
public static void main(String[] args){
TreeNode<String> root = new TreeNode<String>("root");
System.out.println(" " + root + " ");
System.out.println(" / \\ ");
TreeNode<String> node1 = root.addChild("node1");
TreeNode<String> node2 = root.addChild("node2");
System.out.println(" " + node1 + " " + node2);
System.out.println(" \\");
TreeNode<String> node20 = node2.addChild(null);
System.out.println(" " + node20);
System.out.println(" /\\");
TreeNode<String> node21 = node2.addChild("node21");
TreeNode<String> node210 = node20.addChild("node210");
System.out.println(" " + node21 + " " + node210);
}
}