Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
habe ein Problem mir die Anzahl der Elemente einer Liste ausgeben zu lassen.. Genauer gesagt soll die Anzahl der Elemente bis auf das Erste ausgegeben werden.
Folgendes Konstrukt habe ich:
Code:
interface List {
List anzahl();
...
}
class TestList implements List{
...
public List anzahl(){
return ??
}
??
Kann ich hier irgendwie mit size arbeiten? Aber egal wie ich size einsetzt "Cannot resolve .."...
zum einen würde ich das interface nicht List nennen, da das schon eine Java Klasse bzw. Interface ist, zum anderen - es hängt davon ab wie du die elemente speicherst...
array oder eine list dann über length oder size. bei einer selbst implementierten Verkette listen würde ich einen variable speichern, die die Größe hält
Hi,
irgendwie versteh ich die Logik hinter deiner Frage nicht:
Du hast ein List-Interface und nun eine konkrete Klasse, die dieses Interface implementiert, vor allem seine Methode anzahl(). Nun musst du doch aus deiner unterliegenden Struktur irgendwie diese "Anzahl" herausbekommen, oder? Ich will damit sagen, dass du uns vllt verraten solltest, auf welcher Struktur deine Liste basiert...
interface List {
List anzahl();
...
}
class Entry{
...
}
class TestList implements List{
TestList(Entry first, Entry next){
this.first = first;
this.last = last
}
...
public List anzahl(){
return new TestList(first.next,last);
}
hm aha, ich hab den ersten post so verstanden, dass die methode anzahl() die anzahl der elemente in der liste zurückgeben sollte, und sie deshalb auch anzahl() heißt. :roll:
Die Klasse TestList hat ja 2 Instanzvariablen die first und last heißen.
Zumindest die Variable first wird vom Parameter gleichen Namen des
Konstruktors überdeckt. Durch this.first weiß der Compiler welchem first du
was zuweilen willst.
Es geht auch ohne this, dann mußt du die Parameternamen aber ändern.
@deathbya..
Wieso ist denn die Methode falsch bzw wo wurde mir das bis jetzt gesagt?
Zumindest funktioniert sie in meinem Prog. Aber Alternativen und Verbesserungen sidn herzlich Willkommen..
Deine Antwort auf meine 2.Frage hat mich <= 0 weiter gebracht ;-).. Ob this.* zu elementaren Dingen gehört oder nicht ist doch egal. Wenn ich eine Frage habe, frage ich. Dafür steht doch das Forum.
Subtyping gehört zumindest in meinen Unterlagen ebenfalls zu den elementaren Grundlagen.
wie schon oben gesagt - du willst die Anzahl der Elemente deiner Liste ermitteln... worin liegt der Sinn hier eine List als Rückgabe parameter zu nehmen und nicht ein einfaches int ? Die Größe einer Liste ist 3 / 6 / 100 / oder was auch immer, nicht eine andere Liste....
zu this:
erklärung hat leroy gegeben
edit: grml vote für posting sperre wenn ich antworte