Einsendeaufgabe 7

Dr Franke Ghostwriter
Ich werfe schon mal meine ersten Antworten für EA7 in die Runde.

1a) A,B,E
1b) B,E
1c) B,D

2a) C,E,H
2b) A
2c) C
 
Also deine Antwort zu 1a versteh ich nicht so recht muss ich gestehen. Wie kommst du auf A, B und E?

Bei 1b ist es auch diskussionswürdig, weil hier in der API ja oben steht, dass auch Flushable implementiert wird, unten steht davon aber nichts mehr

bei 1c hab ich auch B und D


und weiter hab ichs noch nicht durchgelesen.
 
Meiner Meinung nach wird nur die java.lang.RuntimeException (und ihre Subklassen) und die java.lang.Error (und ihre Subklassen) standardmäßig eingebunden und muss nicht separat in den Methoden als "throws" gekennzeichnet werden.

Die java.lang.ClassNotFoundException ist NICHT Subklasse von RuntimeException.
 
Zu 1a) Ich schließe mich der Meinung BDE an. Fragt mich nicht in welch geistiger Umnachtung ich auf ABE gekommen bin. Natürlich muss eine ClassNotFoundException abgefangen werde und eine NoSuchElementException tritt nur als Laufzeitfehler auf.

Zu 1b) Ich bin mir bei D (Flushable) unsicher, weil dieses Interface halt nicht direkt sondern durch die Oberklasse implementiert wird. Und jetzt weiß ich auch nicht ob mit der Fragestellung eben alle implementierten Interfaces gemeint sind, oder nur die, die direkt implementiert werden.

Aber nachdem ich gerade meine erste korrigierte Aufgabe von EA6 gelesen habe, tendiere ich dazu auch D anzukreuzen. Die meinen bestimmt alle implementierten Interfaces, oder?
 
Zu 3)

DateiNichtGefundenAusnahme:
habe ich nach KE5 erstellt mit super(). Auch wird hier der private String dateiname mit der Variable die im Konstruktor übergeben wird befüllt (Keine Setter Methode... ich zweifle an diesen, aber da es in der Aufgabenstellung nicht gefragt wird muss es nicht erscheinen).
Auch ist in dieser Class die liefereDateiname Methode: einfache Getter Methode.

DateiSortierer:
eine Variabel: StringListe, List die mit den Zeilen befüllt wird.
Ein leerer Konstruktor (zweifle auch, eigentlich nicht notwendig, oder?).

einlesen Methode: throws DateiNichtGefundenAusnahme und IOException, liesst die DAtei nach S.469 ein und schreibt sie in die Stringliste Variable mit .add(). alles in einer try/catch wo einmal nach FileNotFoundException (-> DateiNichtGefundenAusnahme) und IOException gefangen wird.

sortiere Methode: Nach bubblesort auf S. 381 erstellt mit der Änderung, dass es eine List ist.

gebeAus Methode: PrintStream erstellt (PrintStream ps = new PrintStream(out)😉 und dann die Ausgabe mit ps.println erstellt.

sortiereDatei Methode: ruft gebeAus(System.out, sortiere(einlesen(dateiname))); in einer try/catch. Fehler werden in System.err ausgegeben.


Habt ihr das vom Prinzip gleich oder anders? Die Test funktionieren...
Andere Frage: In der Aufgabenstellung steht nicht, dass wir den Code Kommentieren muessen. macht ihr das trotzdem?

Grüsse aus KA!
 
Oben