0 Daumen
587 Aufrufe

Aufgabe: Der Zahlencode 199876 wird in einem String-Array gespeichert. Leider schleichen sich fehlerhafte Strings (Punkte) ein. Schreiben Sie mit den Bordmitteln von Java 8 (Streams, Lambda-Ausdrücke) ein Programm, das die fehlerhaften Strings entfernt und den Code ausgibt. Die Eingabe

final String[] code = new String[]{"1", "9", ".", "9", ".", ".", ".", "8", "7", "6", "."};

Soll liefern:

Code = 199876
Vielen Dank!
Avatar von

1 Antwort

+1 Daumen

Erzeuge Dir mit Stream.of(code) einen Stream. Auf diesen wendest Du einen einfachen Filter an, der genau dann false returned, wenn ein fehlerhafter String der Form "." gesehen wird. Für die Ausgabe der gefilterten Elemente gibt es verschiedene Möglichkeiten. Ein funktionsfähiges Programm, das den von Dir spezifizierten Anforderungen genügt, sieht folgendermaßen aus:

 public static void main(final String... args) {
final String[] code = new String[]{"19", ".", "9", ".", ".", ".", "8", "7", "6", "."};
System.out.print("Code = ");
Stream.of(code)
    .filter(element -> {
        return !element.equals(".");
    })
    .forEach(element -> System.out.print(element));
}

Vergiss den Import import java.util.stream.Stream; nicht (oder lasse ihn Dir von Deiner IDE generieren).

Avatar von

Ähnliche Fragen

0 Daumen
1 Antwort
0 Daumen
1 Antwort
0 Daumen
1 Antwort
Made by a lovely Community