Lambda - Ausdruck zu Beschreibung erstellen

Maultäschle

Aktives Mitglied
Hey Leute,

die Aufgabe lautet:
Schreiben Sie eine Methode printAll, die eine Liste von ganzen Zahlen als Parameter bekommt und alle Elemente der Liste auf der Konsole ausgibt.
Schreiben Sie eine Methode printEvenNumbers, die eine Liste von ganzen Zahlen als Parameter bekommt und alle geraden Zahlen der Liste auf der Konsole ausgibt.

Meine Ideen dazu:
public static int printAll (Integer [] numbers){
numbers.forEach (Integer all) -> return all;
}

Nur klappt es nicht:/

public static void printEvenNumbers (Integer [] numbers){
(numbers) -> number % 2 ==1;

Wäre über Hilfe sehr dankbar🙂
 
1.
public static List<Integer> printAll (List <Integer> numbers){
numbers.forEach -> return numbers;
}

Ich weiß nicht, wie ich das noch ändern soll...
 
Wie gibst du auf der Konsole etwas aus?
Wie kannst du alle Zahlen durchlaufen?
Willst du direkt Lambda-Ausdrücke benutzen und verstehen?
 
Also sollte ich eher System.out.println(); benutzen.
Ich dachte, dass es durch das forEach mit der Iteration geklärt wäre. Fehlt etwa eine Klammer, in der praktisch eine neue Variable ist, die dann ausgeprintet wird?

Lambda - Ausdrücke verstehe ich schon, nur fällt mir die Umsetzung noch schwer...
 
Genau, forEach ist schon richtig. Mir schien es nur, dass du nicht genau weißt, wie es dann weiter geht. Wo ich mich gefragt habe ob du nicht erstmal mit einer traditionellen for-Schleife beginnen willst und es dann in die Lamda-Schreibweise überführen willst.

forEach ist eine Funktion (mit Parameter vom Type Consumer), daher musst du Klammern setzen.
Java:
numbers.forEach(i -> System.out.println(i));
Mit Hilfe einer Methoden-Referenz lässt sich das ganze noch vereinfachen.
 

Neue Themen


Zurück
Oben