ToString-Methode

LeonInfo19

Bekanntes Mitglied
Hallo,
ich beschäftige mich gerade mit Suchbäumen. Diese will ich in meinem Programm über die toString-Methode vernünftig ausgeben.
Java:
        private String preOrder( TreeNode<KeyType, DataType> node) {
            String displayNodes = "";
           
            if (node != null) {
                 
                displayNodes = displayNodes + node.toString() + "\n";
                displayNodes = displayNodes + this.preOrder(node.left);
                displayNodes = displayNodes + this.preOrder(node.right);
            }
             
            return displayNodes;
        }
Ich kriege es nicht hin, einen Zeilenumbruch bei der Ausgabe des letzten Elements zu verhindern. Wie bekomme ich es also hin, anch der Darstellung des letzten Knotens einen leeren Zeilenumbruch zu vermeiden?
 
Statt + node.toString() + "\n"; halt + "\n" + node.toString(); - beim ersten Knoten (Wurzel) lässt Du den Zeilenumbruch weg.
 
Java:
if (node != null) {
                 if(node==root) {
                     displayNodes = displayNodes + node.toString();
                 }
                 else {
                     displayNodes = displayNodes + "\n" + node.toString();
                 }
Vielen Dank. So geht es. Hast du es so gemeint?
Schaut etwas redundant aus?
 
So in etwa, ja.
Java:
if (node != null) {
    String prefix = node == root ? "" : "\n";
    displayNodes = displayNodes + prefix + node.toString();
    ...
}
 

Neue Themen


Zurück
Oben