Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:java:aoc:aoc2021:day5:start [05.12.2021 20:33] – [Tipp zur Eingabeaufbereitung] sbel | faecher:informatik:oberstufe:java:aoc:aoc2021:day5:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Tag 5 ====== | ||
- | |||
- | ===== Tipp zur Eingabeaufbereitung ===== | ||
- | |||
- | An Tag 5 sehen die Eingabezeilen wie folgt aus: | ||
- | |||
- | < | ||
- | 0,9 -> 5,9 | ||
- | 8,0 -> 0,8 | ||
- | 9,4 -> 3,4 | ||
- | 2,2 -> 2,1 | ||
- | 7,0 -> 7,4 | ||
- | 6,4 -> 2,0 | ||
- | 0,9 -> 2,9 | ||
- | 3,4 -> 1,4 | ||
- | 0,0 -> 8,8 | ||
- | 5,5 -> 8,2 | ||
- | </ | ||
- | |||
- | Wobei die durch Kommata getrennten Zahlen x, | ||
- | |||
- | Ein denkbares Vorgehen, diese Eingabe aufzubereiten ist folgende: | ||
- | |||
- | < | ||
- | readInput(this.inputFile, | ||
- | </ | ||
- | |||
- | Erzeugt in '' | ||
- | < | ||
- | > 0,9 | ||
- | </ | ||
- | |||
- | <code java> | ||
- | // Ein Iterator über input für String-Arrays | ||
- | Iterator< | ||
- | while( lineIterator.hasNext() ) { | ||
- | String[] line = lineIterator.next(); | ||
- | // Clean input: remove > and whitespaces | ||
- | for(int i=0; i< | ||
- | line[i] = line[i].replace('>',' | ||
- | line[i] = line[i].trim(); | ||
- | } | ||
- | // Jetzt etnhält auch line[1] das durch Komma getrennte Koordinatenpaar | ||
- | | ||
- | // Nun kann man den Startpunk und den Endpunkt mit split erzeugen | ||
- | String[] start = line[0].split("," | ||
- | String[] end = line[1].split("," | ||
- | | ||
- | // ... weitere Dinge, die man machen möchte ... | ||
- | } | ||
- | </ | ||
- | |||
- | Ebensogut kann man natürlich beim Einlesen das Array am ''>'' |