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.
EDIT: Ich habe mich leider verschrieben, ich meinte die Anzahl der positiven Werte ...sry =)
Guten Abend ,
und zwar soll ich von einer Liste nur die Anzahl der positiven Werte drucken.
Bis jetzt habe ich das:
public static int positiv(Node liste){
Node l = liste;
int zaehler = 0;
while(l!=null){
if(){
zaehler++;
l = l.link;
}
else{
l = l.link;
}
}
return zaehler;
}
Also fehlt mir praktisch nur noch was in der if-Bedingung und ich komme mal wieder nicht drauf =/....habs auch schon mit l.data>0 versucht, aber da meckert er ^^
Wie kommst du drauf das als Node zu deklarieren? Warum keine normale ArrayList. Ich hab die Klasse Node noch nie verwendet und bekomm anhand von der API auch nicht wirklich einen brauchbaren Code zusammen aber ich kann dir mal einen pseudocode posten.
Java:
public static void positiv(Parameterübergabe){
int i;
while(Elemente in Liste vorhanden){
if((i = nächstes Element > 0)
System.out.println(i);
}
}
am Beispiel einer ArrayList
Java:
import java.util.*;
...
public static void positiv(ArrayList<Integer> liste){
int i;
Iterator<Integer> iter = liste.iterator();
while(iter.hasNext()){
if((i = iter.next()) > 0)
System.out.println(i);
}
}
vllt hilft dir das weiter.
grüße
nrg
edit: 10x editiert aber jetz sollte es auch mit den klammern passen
edit die 11te:
hab übersehn, dass du ja nur die Anzahl ausgeben willst... (anhand von pseudocode)
Java:
while(Elemente in Liste vorhanden){
if((i = nächstes Element) > 0)
i++;
}
System.out.println(i);
Das mit dem Node ist vorgegeben, sprich ich muss das benutzen. ArrayList hatten wir auch nur ganz kurz, also damit kenne ich mich leider nicht so aus ^^.
Ich weiß nur nicht, wie ich auf den Wert des Knotens zugreife....eigentlich doch mit l.data, oder??
ja bestimmt . würde mich aber auch sehr interessieren, vorallem weil Node ein Interface ist. Denke eher, dass man den Parameter in eine Class stecken/casten muss, die Node implementiert und diese Class dann die uns fehlenden Methoden bereitstellt.
public static int positiv(Node liste){
int zaehler = 0;
for(Node l = liste; l != null; l = l.link) {
if(l.value > 0) { //oder wie man auch immer auf den Wert eines Node zugreift
zaehler++;
}
}
return zaehler;
}
public static int positiv(Node liste){
int zaehler = 0;
for(Node l = liste; l != null; l = l.link) {
if(l.value > 0) { //oder wie man auch immer auf den Wert eines Node zugreift
zaehler++;
}
}
return zaehler;
}
also anscheinend geht das mit dem l.value tatsächlich, so ist das zumindestens in der Lösung ...warum das jetzt nicht bei mir im Programm geht ist mir jedoch ein Rätsel ....