Was macht length()?

3 Antworten

Wir müssten dafür wissen was sich hinter deinem getCode() verbirgt.

Length gibt dir nämlich die Länge von etwas an. Das ganze funktioniert mit Array wenn du zum Beispiel 5 werte In a hast ist

a.length() 

5

auch für strings funktioniert das, Dir wird also die Länge des strings zurückgegeben.

wenn du in deiner Methode also schauen willst, welcher „Code“ der längere ist, musst du die Länge des Codes vergleichen und nicht den Code selbst.

Sei dein Code „abcd“ kannst du ihn ja nicht vergleichen denn in deinem Beispiel mit dem Fehler schaust du ob Zahl < abcd

du willst aber zahlen vergleichen und wenn du .length() auf einen String ausführst bekommst du eine Zahl zurück. Und die kannst du jetzt super vergleichen

Viel Erfolg! Ich hoffe es hat geholfen

Mit freundlichen Grüßen

regex9  10.06.2019, 00:14

Ein Array hat keine Methode length, sondern ein Attribut mit diesem Namen.

1

Bitte poste deinen Quellcode in editierbarer Form, z.B. via pastebin, dass macht es doch für beide Seiten einfacher.

Die Methode length tut das, was sie verspricht: Sie gibt die Länge von etwas zurück. Du wirst in deinem Fall sicherlich einen String vor dir haben, denn dieser besitzt eine Methode length. Somit bekommst du die Anzahl der Zeichen zurück, aus denen der String besteht.

Anas111 
Fragesteller
 10.06.2019, 00:12

public class CharacterSearchTree

{

   private HuffmanTriple content;

   private CharacterSearchTree leftChild, rightChild; 

public String getCode( char t )

   {

       if ( !isEmpty() )

       {

           if ( content.getToken() > t )

           {

               return leftChild.getCode( t );

           }

           else if ( content.getToken() < t )

           {

               return rightChild.getCode( t );

           }

           else

           {

               return content.getCode();

           }

       }

       else

       {

           throw new IllegalStateException();

       }

   }

}

das ist die Methode getCode()

0
regex9  10.06.2019, 00:13
@Anas111

Sie gibt einen String zurück:

public String getCode(char t) {
  // ...

also erhältst du in deinem Fall mit length auch die Anzahl an Zeichen, die im String enthalten sind.

1

Sieht aus als wäre Content eine Binary, das zuerst eine int und dann einen String speichert.

length() gibt dir dann einfach dessen Länge, sprich wie viele "Speicherzellen" in Content benutzt werden.

was .getCode() ist, weiß ich nicht.

Es würde helfen, wenn du mehr Info postest.

Anas111 
Fragesteller
 10.06.2019, 00:11

public class CharacterSearchTree

{

   private HuffmanTriple content;

   private CharacterSearchTree leftChild, rightChild; 

public String getCode( char t )

   {

       if ( !isEmpty() )

       {

           if ( content.getToken() > t )

           {

               return leftChild.getCode( t );

           }

           else if ( content.getToken() < t )

           {

               return rightChild.getCode( t );

           }

           else

           {

               return content.getCode();

           }

       }

       else

       {

           throw new IllegalStateException();

       }

   }

}

das ist die Methode getCode()

0