我需要打印出QuadTree。問題是,我不知道如何實現遞增移動以便能夠可視化樹結構。 目前,我只是看到每個級別的節點在一個新的行。但是,使用這個可視化工具來處理樹是很複雜的。toString()的遞增移位
@Override public String toString() {
StringBuilder result = new StringBuilder();
String NEW_LINE = System.getProperty("line.separator");
String SHIFT = System.getProperty(" ");
if (_children != null) {
String content = "";
for (QtreeNode<E> node : _children) {
content += node.toString() + ",";
}
result.append("{" + SHIFT + NEW_LINE +
content.substring(0, content.length()) +
SHIFT + NEW_LINE + "}");
} else if (_items != null) {
String content = "";
for (E item : _items) {
content += item.toString() + " ";
}
result.append("[" + content + "]");
}
return result.toString();
}
你有什麼期望'System.getProperty(」「)'做什麼?擁有名爲「」的屬性會很奇怪。在建立一個字符串時(你使用'StringBuilder'),你知道不要使用重複連接也是很奇怪的事情),但是你有兩個循環你可以使用重複的連接... –
@Jon Skeet:事實上,System.getProperty(「」)是我的加入一個轉變。但這是不正確的。這就是我發佈這個話題的原因。 –
那麼你期望什麼「換班」?如果你只是想要一個帶有兩個空格的字符串,只需使用'「」'(一個兩個空格的字符串) - 不需要調用'System.getProperty'。 –