Wie bekomme ich ein Object in einen StringBuffer?



  • siehe frage. ich habe einen baum mit allen knoten in einem object. nun möchte ich das object in einen stringbuffer wandeln, wie geht das?

    DANKE:)



  • was soll das denn bewirken?
    Ich mein du hast einen Baum und willst ihn in einen Stringbuffer wandeln...
    Willst du nur den Baum ausgeben, oder was hast du vor?



  • stringbuf << obj;
    


  • jo genau, ich muß den baum formatiert ausgeben.

    gruß



  • 'n StringReader is na bekanntlich n CharacterStream.
    also liest der Zeichen aus nem string ein (wie der name ja sagt *g*)
    aber n objekt oder so einlesen sollte wohl mit dem ByteSream ObjectInputStream gehen

    aber wie du die dinger nun funktionierend ineinander konertierst oder schachtelst sei mal dir überlassen 🕶



  • Ich glaube nicht, dass der StringBuffer Dir dabei hilft den Baum formatiert auszugeben. IMHO ist eine Konvertierung eines Objects in einen String nicht besonders sinnvoll - damit kriegt man halt die String-Repräsentation...mehr aber auch nicht (und das nur, wenn toString() für das Objekt sinnvolle Ergebnisse liefert).



  • dann mach doch einfach folgendes:

    String ergebnis = "";
    schleife die durch den baum traversiert{
      ergebnis = ergebnis + Knoten.toString() + "platzFürIrgendwelcheFormatierungen";
    }
    

    Das kannst du natürlich auch in ein StringBuffer machen.
    Dabei müßtest du dann die Methode
    buffer.append(Knoten.toString);
    buffer.append("Formatierungen");
    verwenden. (die append Methode is schneller als die String + String)

    Wenn die toString() Methode von den Knoten nicht überschrieben worden ist,
    dann erhälst Du nur die Adressen der Knoten.
    Also solltest Du dann vielleicht noch die toString() Methode überschreiben.
    zB:

    class Knoten{
    ...
    public String toString(){
      return knotenInhalt.toString();
    }
    ...
    }
    

    oder so etwas Ähnliches.

    [ Dieser Beitrag wurde am 29.01.2003 um 16:56 Uhr von Ingo aka Desert Hawk editiert. ]



  • hi all. also ich habe ne methode printNode, die mit append etc arbeitet, um den baum auszugeben. mmir würde es wirklich helfen:)!!

    gruß devil



  • Hi Devil667

    Das selbe Problem hatte ich ind er FH auch.
    Wir müssen ein Baum ausgeben der mehrere Knoten haben konnte.
    Es war kein Binär Baum.
    Du hast bestimmt ein Object Baum(Tree.java) mwmot du deine Baumstruktur und die methoden auf das Baum definierst.

    Schau dir mal die pro oder postOrder Methoden ein die dienen dazu um Bäume zu traversieren.

    Hier mal Beispiele die wird verwendet haben.

    private void preOrder(Node node, boolean x) {
          if (node!=null) {
             if (x) TextIO.put(node.wert);
             for (int i=0;i<3;i++) preOrder(node.k[i],x);
          }
       }
    
       private void postOrder(Node node, boolean x) {
          if (node!=null) {
             for (int i=0;i<3;i++) postOrder(node.k[i],x);
             if (x) TextIO.put(node.wert);
          }
    
       }
    

    Ich hoffe die helfen dir da bischen weiter.

    BYE



  • hi, jaja, traversieren und inorder hab ich schon. es soll halt jetzt 90 grad rotiert wrden und dann ausgegeben werden. hab ich ja schon, eben nur einen methode printNode(StringBuffer sb, int depth) und in sb soll der baum landen.

    gruß



  • And was willst du jetzt coden?
    Die aufrufende Methode, oder die Methode printNode(StringBuffer sb, int depth) selber?


Anmelden zum Antworten