0 Daumen
263 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
 
Beste Antwort

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

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

0 Daumen
1 Antwort
0 Daumen
1 Antwort

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community