Elemte in Java-Liste zählen < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 15:56 Mo 25.09.2006 | Autor: | crn |
Hallo!
Ich benutze in der Schule Netbeans um mit Java zu arbeiten und habe dazu eine frage...
Ich grübel schon seit ein paar Nachmittagen wie ich meine Elemente in der, in java erstellten, liste zählen kann.
Ein paar vorraussetzungen hab ich schon, aber ich komm bei dem letzten teil (else) einfach nicht weiter... das was im moment da steht wäre ja eine endlosschleife... zur erklärung (soweit wie ich gekommen bin):
-wenn mein verweis "anfang" auf "null" zeigt, ist kein element vorhanden und mein label "LZahl" gibt "0" aus
-wenn jedoch mehr als 0 elemente vorhanden sind: solange mein "anfang" nicht auf "null" zeigt, soll er immer eins dazu zählen mit n++ und diese Zahl, die ja dann die Anzahl der Elemente sein müsste, soll im Label ausgegeben werden, jedoch kann "anfang!=null" nicht stimmen, da ich sonst eine endlosschleife hätte...
if (anfang==null) {
LZahl.setText("0");
}
else {
while (anfang!=null) {
n++;
LZahl.setText(Integer.toString(n)); < der befehl stimmt glaub ich auch noch nicht
}
}
Es wäre gut, wenn mir jemand weiterhelfen könnte, denn ich komm mit meinem denkfehler nicht mehr weiter...
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 16:29 Mo 25.09.2006 | Autor: | Palin |
Du must bei dir das nächste element ansprechen.
Dazu schsust du dir am besten die Attribute in der Klasse element an.
Bei einfach verketteten Listen.
Gibt es meist ein
Attribut für den Wert und ein Attribut was wider vom tye element ist mit next.
Wenn du die Klassen, noch hier Postest kann ich sicher mehr dazu sagen.
Ich würde überigens eine Rekusive funktion vorschlagen
public int anz(int n, element ele){
if(ele==null){ return n;}
else{ return anz(n+1, ele.next);}
}
aufruf mit dem 1. Element und n=0;
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 10:00 Fr 29.09.2006 | Autor: | crn |
Hallo,
vielen dank für die Antwort, ich hatte in den letzten tagen wenig zeit, deswegen versuch ich es jetzt noch einmal weiter mit der liste.
An Klasse hab ich nur diese:
public class Listenelement {
Listenelement next;
String name;
/** Creates a new instance of Listenelement */
public Listenelement() {
next = null;
}
public void setName (String n) {
name = n;
}
public String getName () {
return (name);
}
public void setNext (Listenelement n) {
next = n;
}
public Listenelement getNext () {
return (next);
}
}
|
|
|
|