Listen Operationen

Bitte aktiviere JavaScript!
Bei einer Listenaufgabe sollen die Methoden entfernen (entfernt letztes Element einer Liste), länge (länge der Liste), summe (Summe der Listenelemente), addieren (addiert eine Zahl auf alle Listenelemente) geschrieben werden. Ich habe versucht die Aufgaben zu lösen aber komme nicht weiter, da ich kein Skript oder andere Möglichkeiten habe, einen Ansatz zu benutzen.

Ich hoffe Ihr könnt mir tipps geben:
 
Zuletzt bearbeitet von einem Moderator:
A

Anzeige




Vielleicht hilft dir unser Kurs hier weiter —> (hier klicken)
Das ist mein bisheriger Code

Java:
public class Liste {
public int element;
public Liste nachfolger;
private int counter;
public Liste (int w) {
element = w;
nachfolger = null;
}
public void hinzufuegen (int w) {
this.counter++; // wird immer aufgerufen, daher hier definiert
if (nachfolger == null)
nachfolger = new Liste(w);
else
nachfolger.hinzufuegen(w);
}
public void entfernen () {
if (nachfolger == null){
nachfolger=null;
else
nachfolger.entfernen();
}
public int länge() {
int l=0;
for(int i=0;i<=this.counter;i++) {
l +=1;
}
return l;
}

public String toString() {
return " " + element + "," + nachfolger ;
}

public int summe() {
int sum=0;
for (int i=0;i<=this.counter;i++) {
sum += nachfolger.element;
}
return sum;

}

public void addiere (int z) {

for (int i=0;i<=this.counter;i++) {

element += z;



};

}

}
Java:
public class ListeTester { 
  public static void main(String[] args) {    
    Liste x = new Liste(3);     
    x.hinzufuegen(5);     
    x.hinzufuegen(4);    
    x.hinzufuegen(7);   
  }
}
 
Zuletzt bearbeitet von einem Moderator:
Die for-Schleife bietet sich an, wenn du indexbasiert auf die Elemente zugreifen kannst. Hier würde ich einen rekursiven Ansatz vorschlagen. Wie könnte man die "Länge" der Liste rekursiv berechnen?

Tipp: Verzweige mit der Bedingung nachfolger == null
 
Code bitte in Code-Tags...

Java:
public class Liste {
public int element;
public Liste nachfolger;
private int counter;
public Liste (int w) {
element = w;
nachfolger = null;
}
public void hinzufuegen (int w) {
this.counter++; // wird immer aufgerufen, daher hier definiert
if (nachfolger == null)
nachfolger = new Liste(w);
else
nachfolger.hinzufuegen(w);
}
public void entfernen () {
if (nachfolger == null){
nachfolger=null;
else
nachfolger.entfernen();
}
public int länge() {
int l=0;
for(int i=0;i<=this.counter;i++) {
l +=1;
}
return l;
}

public String toString() {
return " " + element + "," + nachfolger ;
}

public int summe() {
int sum=0;
for (int i=0;i<=this.counter;i++) {
sum += nachfolger.element;
}
return sum;

}

public void addiere (int z) {

for (int i=0;i<=this.counter;i++) {

element += z;



};

}

}
 
Die for-Schleife bietet sich an, wenn du indexbasiert auf die Elemente zugreifen kannst. Hier würde ich einen rekursiven Ansatz vorschlagen. Wie könnte man die "Länge" der Liste rekursiv berechnen?

Tipp: Verzweige mit der Bedingung nachfolger == null
Java:
[B]public[/B] [B]int[/B] summe() {

        

        [B]if[/B](nachfolger==[B]null[/B]) [B]return[/B] element;

        [B]else[/B] [B]return[/B] element + nachfolger.summe();

            

}

Bei der Summe habe ich es rekursiv hinbekommen, bei der Länge weiß ich es nicht, aber mit der for-Schleife funktioniert es trotzdem
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben