Was macht length()?
Ohne die Methode lenght() zeigt mir ( bad oprand for Typs binary operator '>')
Was macht length() in diesem Fall, kann length() wie (type casting) machen?
die Methode getCode() hat einen Parameter.
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
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.
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()
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.
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()
Ein Array hat keine Methode length, sondern ein Attribut mit diesem Namen.