Kodieren - Code verstehen

kol789

Mitglied
Hallo,

ICh habe vor einem Jahren ein Programm programmiert , welches Wörter codiert und decodiert und zwar mithilfe eines Binärbaumes. Jetzt habe ich mir das Programm mal wieder angeschaut , da ich es wieder gebrauchen konnte. Allerdings verstehe ich es nicht mehr vollständig :(.

Danke für jede Hilfe

Java:
 public String codierterText (String pText) {
int lZaehler = 0;
String lCode = "";

 while ((lZaehler < pText.length()) && (pText.charAt (lZaehler) >='A')&&(pText.charAt (lZaehler)<= 'Z')) 
  {
     lCode = lCode + erzeugeMorsecode (pText.charAt(lZaehler), morseBaum, "") + "/";
     lZaehler++;
}

return lCode;

}
     public String erzeugeMorsecode (char pZeichen, BinaryTree pmorseBaum, String pCode) {
       
if (!pmorseBaum.isEmpty())
{
       if (pZeichen == ((Character) pmorseBaum.getObject()).charValue())    // was wird Pzeichen zugewisen

return pCode;

      else {

//rekursiver Aufruf der Methode mit dem linken Teilbaum

      String lCodeLinkerTeilbaum = erzeugeMorsecode(pZeichen, pmorseBaum.getLeftTree(),
       pCode+".");

    if (lCodeLinkerTeilbaum.equals(""))

//Zeichen im linken Teilbaum nicht gefunden, rekursiver Aufruf mit dem rechten Teilbaum

     return erzeugeMorsecode (pZeichen, pmorseBaum.getRightTree(), pCode+"-");

else
     return lCodeLinkerTeilbaum;
}

} else return "";

}
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Keine Ahnung, da steht nur ein großer Haufen von unformatierten Wörtern, daraus erkennt man nichts :(
 
G

Gast2

Gast
Naja, viel besser ist das so aber auch nicht, formatier doch den Quelltext mal gescheit, dann erkennt man doch viel mehr.

Zu deiner Frage:
Beim Aufruf der Methode erzeugeMorsecode wird der pZeichen Parameter übergeben.
 

Plopo

Bekanntes Mitglied
Java:
  public String codierterText (String pText)
  {
    int lZaehler = 0;
    String lCode = "";
    while ((lZaehler < pText.length ()) && (pText.charAt (lZaehler) >= 'A')
        && (pText.charAt (lZaehler) <= 'Z'))
    {
      lCode = lCode + erzeugeMorsecode (pText.charAt (lZaehler), morseBaum, "")
          + "/";
      lZaehler++;
    }
    return lCode;
  }
  public String erzeugeMorsecode (char pZeichen, BinaryTree pmorseBaum, String pCode)
  {
    if (!pmorseBaum.isEmpty ())
    {
      if (pZeichen == ((Character) pmorseBaum.getObject ()).charValue ()) // was
                                                                          // wird
                                                                          // pZeichen
                                                                          // zugewisen
        return pCode;
      else
      {
        // rekursiver Aufruf der Methode mit dem linken Teilbaum
        String lCodeLinkerTeilbaum = erzeugeMorsecode (pZeichen,
            pmorseBaum.getLeftTree (), pCode + ".");
        if (lCodeLinkerTeilbaum.equals (""))
          // Zeichen im linken Teilbaum nicht gefunden, rekursiver Aufruf mit
          // dem rechten Teilbaum
          return erzeugeMorsecode (pZeichen, pmorseBaum.getRightTree (), pCode + "-");
        else
          return lCodeLinkerTeilbaum;
      }
    }
    else
      return "";
  }
Die gemeinte Zeile ist folgende.
Java:
pZeichen == ((Character) pmorseBaum.getObject ()).charValue ()
 

Neue Themen


Oben