Listen Operationen

Diskutiere Listen Operationen im Java Basics - Anfänger-Themen Bereich.
J

Javauser19000

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:
J

Javauser19000

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:
JCODA

JCODA

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
 
T

temi

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;



};

}

}
 
J

Javauser19000

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
 
Thema: 

Listen Operationen

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben