Summe aller Positiven Integer aus einer Liste mit ActionObject

DeepThought

Neues Mitglied
Hallo erstmal,
ich bin neu hier im Forum.Falls ich also irgendwelche Fehler mache, bitte nicht gleich böse sein. Macht mich einfach darauf aufmersam und ich werde das dann in Zukunft beherzigen.
Nachdem bei google nicht fündig geworden bin und die Suche in diesem Forum auch nicht zum Erfolg geführt hat, hoffe ich auf eure Unterstützung.

Für die Uni soll ich diese Aufgabe lösen:
Lösen Sie mit Hilfe von Aktionsobjekten für generische Listen folgende Probleme:
a) Es soll überprüft werden, ob die Integer-Zahl 0 in der Liste vorkommt.
b) Es soll die Summe aller positiven Integer-Zahlen in der Liste ermittelt werden.
Hinweis: Sie müssen das
Java:
interface ActionObject{
/**
* Abstract function whose realizations
* operate on list nodes
*/
public void action(Node n);
}
für jede Aktion implementieren. Die Knoten sehen wie folgt aus:
Java:
public class Node {
public Object data;
public Node next;
}

Schreiben Sie nun ein kurzes Programm, das mit Hilfe einer gegebenen Liste (List aus der Vorlesung) die
Aktionsobjekte aus a) und b) verwendet und das Ergebnis ausgibt!
Java:
public void showContainsZero(List list) {
// hier soll das Aktionsobjekt aus a) verwendet
// und das Ergebnis ausgegeben werden
}
public void showPosSum(List list) {
// hier soll das Aktionsobjekt aus b) verwendet
// und das Ergebnis ausgegeben werden
}

Was ich programmiert habe funktioniert soweit(bis auf die Ausgabe der Summe). Allerdings hab ich das nicht so gemacht, wie die aufgabe es fordert. Hier der Javacode:
Java:
interface ActionObject{
/**
* Abstract function whose realizations
* operate on list nodes
*/
public void action(Node n);
}

class ContainsZeroAction implements ActionObject{
	public void action(Node n){
		if(n.data instanceof Integer){
			Integer tmp = (Integer)n.data;
			if(tmp.intValue() == 0){
				Out.println("Die Liste enthält die Integerzahl 0");
			}
		}	
	}
}

class PosSumAction implements ActionObject{
	int sum = 0;
	
	public void action(Node n){
		if(n.data instanceof Integer){
			Integer tmp = (Integer)n.data;
			if(tmp.intValue() > 0){
				sum += tmp.intValue();
			}
		}
		Out.println("Die Summe ist: "+sum);
	}
}

class Node {
	public Object data;
	public Node next;
	
	public Node(int data){
		this.data = data;
	}
}

class List{
	Node head = null;
	Node tail = null;
	
	public void add(int e) {
		Node p = new Node(e);
		if(head == null){
			head = p;
		}else{
			tail.next = p;
		}
		tail = p;
	}
	
	public void traverseAndApply(ActionObject p){
		for(Node cursor = head; cursor != null; cursor = cursor.next){
			p.action(cursor);
		}
	}
	
}

public class TestActionObject{
	public static void main(String[] args){
		List l = new List();
		l.add(1);
		l.add(0);
		l.add(2);
		ContainsZeroAction z = new ContainsZeroAction();
		PosSumAction ps = new PosSumAction();
		l.traverseAndApply(z);
		l.traverseAndApply(ps);
	}
}
Mein Probleme sind Folgende:
1. Ich hab ja die beiden forgegebenen Methoden showPosSum und showContainsZero nicht verwendet. Ich hab versucht den code so abzuändern:
Java:
	public void showContainsZero(List list){
		ContainsZeroAction z = new ContainsZeroAction();
		list.traverseAndApply(z);
	}

	public void showPosSum(List list) {
		PosSumAction ps = new PosSumAction();
		list.traverseAndApply(ps);
	}

	public static void main(String[] args){
		List l = new List();
		l.add(1);
		l.add(0);
		l.add(2);
		showContainsZero(l);
		showPosSum(l);
	}
}
Das hat aber auch nicht geklappt. Kann mir jemand Helfen den Code so zu ändern, dass er der Aufgabe entspricht?

Über jegliche Ideen würde ich mich freuen,
Gruß John
 

Der Müde Joe

Top Contributor
Lösen Sie mit Hilfe von Aktionsobjekten für generische Listen folgende Probleme

Generisch ist die Liste bei weitem nicht. Da fehler ein paar gezackte Klammern dafür ;-)

Darfst du das Inteface anfassen? Mach doch einfach eine printResult Methode und speicher das Ergebnis im Objekt (ActionObjec). Am Schluss in den show Methoden printResult und gut ists.

EDIT
Ein wenig Code:
Java:
interface ActionObject {
void action(Node n);
void printResult();
}
 
class ContainsZeroAction implements ActionObject{
   
   private int count = 0;
   
   public void action(Node n){
        if(n.data instanceof Integer){
            Integer tmp = (Integer)n.data;
            if(tmp.intValue() == 0){
                count++;
            }
        }   
    }
   
   public void printResult() {
      System.out.println (count);
   }
}
 
class PosSumAction implements ActionObject{
    
   private int sum = 0;
    
    public void action(Node n){
        if(n.data instanceof Integer){
            Integer tmp = (Integer)n.data;
            if(tmp.intValue() > 0){
                sum += tmp.intValue();
            }
        }
       
    }
    
    public void printResult() {
       System.out.println (sum);
    }
}
 
class Node {
    public Object data;
    public Node next;
    
    public Node(int data){
        this.data = data;
    }
}
 
class List{
    Node head = null;
    Node tail = null;
    
    public void add(int e) {
        Node p = new Node(e);
        if(head == null){
            head = p;
        }else{
            tail.next = p;
        }
        tail = p;
    }
    
    public void traverseAndApply(ActionObject p){
        for(Node cursor = head; cursor != null; cursor = cursor.next){
            p.action(cursor);
        }
    }
    
}
 
class TestActionObject{
    public static void main(String[] args){
        List l = new List();
        l.add(1);
        l.add(0);
        l.add(2);
        ContainsZeroAction z = new ContainsZeroAction();
        PosSumAction ps = new PosSumAction();
        l.traverseAndApply(z);
        l.traverseAndApply(ps);
        
        z.printResult ();
        ps.printResult ();
    }
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Summe aller echten Teiler Java Basics - Anfänger-Themen 2
F Summe aller echten Teiler und Zahlen zurückgeben Java Basics - Anfänger-Themen 1
A Summe aller ungeraden Zahlen Java Basics - Anfänger-Themen 5
J ArrayList: summe aller Spielkarten Java Basics - Anfänger-Themen 15
L Array: Summe aller geraden und ungeraden Zahlen ermitteln Java Basics - Anfänger-Themen 9
B Summe aller Zahlen von 1 bis zu dieser Zahl (ohne while oder for schleife) Java Basics - Anfänger-Themen 4
A Summe aller Natürlichen Zahlen - Methode Prüfen Java Basics - Anfänger-Themen 10
S 100 als Summe Java Basics - Anfänger-Themen 16
I For Schleife Summe berechnen Java Basics - Anfänger-Themen 13
I aus 2 random zahlen soll nur die ungerade summe der beiden genommen werden. Java Basics - Anfänger-Themen 13
Ninum Summe Java Basics - Anfänger-Themen 3
Fats Waller Compiler-Fehler Kann ich einen String und die Summe zweier Char Werte mittels der println Anweisung ausgeben Java Basics - Anfänger-Themen 4
N 2D Array Summe erstellen Java Basics - Anfänger-Themen 6
Q Prüfen ob Zahl als Summe von Potenzen dargestellt werden kann. Java Basics - Anfänger-Themen 20
G Java 2-dimensionalen int-Array Summe Java Basics - Anfänger-Themen 2
L Max, min, Summe und Durchschnitt berechnen Java Basics - Anfänger-Themen 4
R Summe Java Basics - Anfänger-Themen 13
M Array Summe bestimmen? Java Basics - Anfänger-Themen 14
B Summe von Property innerhalb einer Liste via Lambda Java Basics - Anfänger-Themen 1
A Summe des Arrays pd mit alternativer Schleife Java Basics - Anfänger-Themen 2
L Anzahl der Paare deren Summe = 0 ergibt berechnen Java Basics - Anfänger-Themen 0
F Summe in einem Array bestimmen Java Basics - Anfänger-Themen 3
N Quadratische Matrix inkl Summe Java Basics - Anfänger-Themen 8
M Array Summe- wo ist der Fehler ? Java Basics - Anfänger-Themen 13
K Erste Schritte Berechnung der Summe zweier Arrays Java Basics - Anfänger-Themen 15
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
K Methode: Summe von n Zahlen Java Basics - Anfänger-Themen 24
S Summe aus Kombinationen /permutationen einer Liste mit einer Obergrenze Java Basics - Anfänger-Themen 10
P Altklausur: Abfrage der Summe Java Basics - Anfänger-Themen 9
D Summe berechnen mit verändertem Wert aus Schleife Java Basics - Anfänger-Themen 1
B summe von 2 Matrizen Java Basics - Anfänger-Themen 20
V Input/Output ArrayList Summe ausgeben Java Basics - Anfänger-Themen 57
B Serial Key prüfen -> String mit privatem Key und dann abgleichen; Summe = 0 Java Basics - Anfänger-Themen 8
B OOP Summe aus verschiedenen Instanzen einer Klasse berechnen Java Basics - Anfänger-Themen 2
Joew0815 summe aus einem aarray Java Basics - Anfänger-Themen 4
E Summe der "Nachbarn" eines Wertes in einem Array bestimmen Java Basics - Anfänger-Themen 8
P Schleife zur Berechnung von einer Summe Java Basics - Anfänger-Themen 16
G Rekursion Summe Java Basics - Anfänger-Themen 15
D Summe von Eingaben in einer for Schleife Java Basics - Anfänger-Themen 4
J Summe mit 45 nachkommastellen Java Basics - Anfänger-Themen 8
V Programm summe Java Basics - Anfänger-Themen 11
I Summe eines Arrays ohne Schleife Java Basics - Anfänger-Themen 4
C Summe berechnen Java Basics - Anfänger-Themen 22
D Pyramide: Summe der diagonal über ihr stehenden Zahlen! Java Basics - Anfänger-Themen 6
A summe von m bis n mit for-Schleife Java Basics - Anfänger-Themen 5
M array - summe quer Java Basics - Anfänger-Themen 9
J summe von aufeinander folgenden floats eines arrays Java Basics - Anfänger-Themen 10
B array bestimmte summe berechnen Java Basics - Anfänger-Themen 4
S Summe Berechnen Java Basics - Anfänger-Themen 6
S Summe von Zufallszahlen Java Basics - Anfänger-Themen 9
Z Summe von Vektor-Elementen Java Basics - Anfänger-Themen 5
E Array gebildete Summe ausgeben Java Basics - Anfänger-Themen 5
D 100.0% gleichmäßig aufteilen, so dass Summe 100.0% sind, nicht 99,9% oder 100,1% Java Basics - Anfänger-Themen 3
M Rekursion Summe vom Array Java Basics - Anfänger-Themen 2
W sin-funktion x-wert der summe approximieren Java Basics - Anfänger-Themen 2
M Summe eines Arrays Java Basics - Anfänger-Themen 2
U Summe produkt von einem array Java Basics - Anfänger-Themen 9
J Summe postive Zahlen und negative Zahlen Java Basics - Anfänger-Themen 12
G Summe der Ziffern einer Zahl EFFIZIENT berechnen? Java Basics - Anfänger-Themen 18
J matrix nach summe der spalten sortieren Java Basics - Anfänger-Themen 5
Antoras Zahlen mischen und mit einer for-Schleife Summe berechnen Java Basics - Anfänger-Themen 12
G Summe zweier doubles falsch? Java Basics - Anfänger-Themen 10
G Md5 Summe eines Fileobjektes bilden Java Basics - Anfänger-Themen 4
G JTable Zwischenüberschriften bzw. Summe? Java Basics - Anfänger-Themen 2
L Berechnung Summe Java Basics - Anfänger-Themen 3
A String in Zahlen/Summe umformen Java Basics - Anfänger-Themen 2
R Summe Iterative Java Basics - Anfänger-Themen 6
S Summe innerhalb eines arrays? Java Basics - Anfänger-Themen 2
M summe von squares Java Basics - Anfänger-Themen 3
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
eleonori Durchschnitt aller Werte eines Baums berechnen Java Basics - Anfänger-Themen 5
F Summieren aller Geschenke vom Typ Geschenk? Java Basics - Anfänger-Themen 12
D Interface Wieso Aufruf aller Methoden eines Interfaces? Java Basics - Anfänger-Themen 11
L Summer aller Integer-Zahlen im Intervall [x,y] Java Basics - Anfänger-Themen 6
1 Minimum aller Elemente in einem Array bestimmen Java Basics - Anfänger-Themen 10
S Collections Ausgabe aller Tastencodes Java Basics - Anfänger-Themen 9
F Nach Beendigung aller Schleifen von vorn anfangen, Java Basics - Anfänger-Themen 5
R string aller args[] ? Java Basics - Anfänger-Themen 8
O Erste Schritte Aller Anfang ist schwer ! Bitte um Unterstützung Java Basics - Anfänger-Themen 6
O Liste aller Instanzen einer Klasse Java Basics - Anfänger-Themen 18
M Aller anfang ist schwer :D Hilfe! Java Basics - Anfänger-Themen 18
L Liste aller Klassen die in einem Paket sind Java Basics - Anfänger-Themen 7
F Aller Objekte einer Klasse Java Basics - Anfänger-Themen 9
P Ermitteln aller perfekten Zahlen Java Basics - Anfänger-Themen 12
S Liste aller Partitionen (auch "unmounted") Java Basics - Anfänger-Themen 2
F Liste aller Ordner auf einem Laufwerk erstellen? Java Basics - Anfänger-Themen 3
Z Geburtstag aller Angestellten am bestimmten Datum Java Basics - Anfänger-Themen 59
A OOP Ausgabe aller erstellten Objekte Java Basics - Anfänger-Themen 3
M Eclipse: Durchsuchen aller Dateien? Java Basics - Anfänger-Themen 1
B Liste aller Klassen die ein Interface implementieren. Java Basics - Anfänger-Themen 7
K Anzahl aller Datensätze anzeigen ? Java Basics - Anfänger-Themen 5
L Auflistung aller Fonts Java Basics - Anfänger-Themen 2
G Liste aller WindowListener Java Basics - Anfänger-Themen 3
D Die Frage aller Fragen Java Basics - Anfänger-Themen 22
J Auslesen aller Attribute mit JDOM Java Basics - Anfänger-Themen 15
G Aller anfang is schwer. Java Basics - Anfänger-Themen 4
A ausgabe aller 10-bitzahlen Java Basics - Anfänger-Themen 6
A Liste aller Items einlesen Java Basics - Anfänger-Themen 8
B Wo finde ich eine Übersicht aller Methoden? Java Basics - Anfänger-Themen 2
C Frage zu negativen und positiven Exponenten in rekursiver Methode Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben