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:39] – [Aufgabe und Input] Frank Schiebel | faecher:informatik:oberstufe:java:aoc:aoc2022:day4:start [04.12.2022 18:47] (aktuell) – [Tipps und Hinweise] Frank Schiebel | ||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
* {{ : | * {{ : | ||
* {{ : | * {{ : | ||
+ | |||
+ | ===== Ergebnisse ===== | ||
++++ Ergebnis Teil 1 für die Eingabe auf dieser Wikiseite (weicht ab von deiner " | ++++ Ergebnis Teil 1 für die Eingabe auf dieser Wikiseite (weicht ab von deiner " | ||
Zeile 15: | Zeile 17: | ||
++++ | ++++ | ||
+ | ===== Tipps und Hinweise ===== | ||
+ | ++++ Methodengerüst Basis | | ||
+ | <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; | ||
+ | | ||
+ | // Hier müssen Bedingungen (if ...) eingefügt werden, die | ||
+ | // überprüfen, | ||
+ | // Wenn ja, setzt mal overlapping = true | ||
+ | // dann werden die Bereiche anschließend als überlappend | ||
+ | // 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) { | ||
+ | answer++; | ||
+ | } | ||
+ | |||
+ | } | ||
+ | |||
+ | System.out.println(answer); | ||
+ | return answer; | ||
+ | } | ||
+ | |||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | ++++ |