Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:java:aoc:aoc2022:day4:start [04.12.2022 18:44] – Frank Schiebel | faecher:informatik:oberstufe:java:aoc:aoc2022:day4:start [04.12.2022 18:47] (aktuell) – [Tipps und Hinweise] Frank Schiebel | ||
---|---|---|---|
Zeile 19: | Zeile 19: | ||
===== Tipps und Hinweise ===== | ===== Tipps und Hinweise ===== | ||
- | ++++ Methodengerüst | | + | ++++ Methodengerüst |
<code java> | <code java> | ||
public day4() throws Exception { | public day4() throws Exception { | ||
Zeile 51: | Zeile 51: | ||
// dann werden die Bereiche anschließend als überlappend | // dann werden die Bereiche anschließend als überlappend | ||
// zur Antwort addiert | // zur Antwort addiert | ||
+ | | ||
+ | if (overlapping) { | ||
+ | answer++; | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | System.out.println(answer); | ||
+ | return answer; | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | ++++ | ||
+ | |||
+ | |||
+ | ++++ Methodengerüst mit Beispielbedingung | | ||
+ | <code java> | ||
+ | public day4() throws Exception { | ||
+ | // Einlesen am Komma getrennt, wir erhalten zwei Felder. | ||
+ | // line[0] - erster Bereich | ||
+ | // line[1] - zweiter Bereich | ||
+ | this.readInput(inputFile,',' | ||
+ | this.printInput(); | ||
+ | } | ||
+ | |||
+ | public int partOne() { | ||
+ | int answer=0; | ||
+ | for(String[] line: input) { | ||
+ | // Bereiche trennen | ||
+ | String[] bereich1 = line[0].split(" | ||
+ | String[] bereich2 = line[1].split(" | ||
+ | // Kontrollausgabe | ||
+ | System.out.println(" | ||
+ | System.out.println(" | ||
+ | // Grenzen mit " | ||
+ | int start1 = Integer.parseInt(bereich1[0]); | ||
+ | int start2 = Integer.parseInt(bereich2[0]); | ||
+ | int end1 = Integer.parseInt(bereich1[1]); | ||
+ | int end2 = Integer.parseInt(bereich2[1]); | ||
+ | |||
+ | boolean overlapping=false; | ||
+ | | ||
+ | // Erste Bedingung | ||
+ | if (start1 < start2 && start2 <= end1) { | ||
+ | // Bereich 2 kann in Bereich 1 enthalten sein, ist es aber nur dann | ||
+ | // wenn end2 <= end1 ist | ||
+ | if (end2 <= end1) { | ||
+ | System.out.println(" | ||
+ | overlapping=true; | ||
+ | } | ||
+ | | ||
+ | } | ||
+ | | ||
+ | // Hier müssen weitere Bedingungen (if ...) eingefügt werden, die | ||
+ | // andere Möglichkeiten überprüfen, | ||
+ | // können. | ||
+ | |||
| | ||
if (overlapping) { | if (overlapping) { |