Übung Java Programmcode Parser
Aufgabe
Schreiben Sie ein Programm, welches eine Java Quellcode-Datei liest und die offenen und geschlossenen Klammern zählt. Hier als Hilfe das Codegerüst:
package ch.std.jpf2.lambda.stream.brackets;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Map;
import java.util.TreeMap;
import java.util.stream.IntStream;
import java.util.stream.Stream;
public class CountBracketsInJavaFile {
 public static void main(String[] args) {
  if (args.length <= 0) {
   System.err.println("no args");
   System.exit(1);
  }
  final Path file = Paths.get(args[0]);
  try (final Stream<String> lines = Files.lines(file)) {
   final Map<Character, Integer> count = lines
     .flatMap(line -> IntStream.range(0, line.length()).mapToObj(line::charAt))
     .filter(TODO:filter lambda expression)
     .collect(TreeMap::new, (m, c) -> m.merge(c, 1, Integer::sum), Map::putAll);
    // TODO , print count map using forEeach
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
}Kopieren Sie fürs testen eine Java Datei ins Projekt-Rootverzeichnis, damit können Sie als Command Line Parameter die Datei mit dem Namen ohne Pfad definieren.
Lösung
2 mögliche Lösungen finden Sie hier
