Dies ist eine statische Kopie unseres alten Forums. Es sind keine Interaktionen möglich.
This is a static copy of our old forum. Interactions are not possible.

Warui

Turner, Serveradmin & Workaholic

  • "Warui" is male
  • "Warui" started this thread

Posts: 717

Date of registration: Apr 25th 2006

Location: Südstadt

Occupation: (iter (B.Sc. Inf, 8)) \n (be-a-slave ("SRA", "Bachelor Thesis")) \n (be-a-programmer-slave ("Freelancer", "Programming"))

1

Tuesday, June 27th 2006, 8:12pm

Java Übung 10

Quoted

a) Modifizieren Sie das Interface IEreignis so, dass es eine SimulatorException wirft.

b) Modifizieren Sie Ihre (bzw. die im Lösungsvorschlag gegebenen) Klassen Ankunft und Abgang so, dass die Methode ereignisAusfuehren jeweils eine
EreignisZuSpaet-Exception auslöst (Stichwort: throw), wenn die Ausführungszeit eines neu erzeugten Ereignisses größer als 100 ist. Geben dieser Exception eine Textmeldung mit, ob der Fehler durch eine Ankunft oder einen Abgang ausgelöst wurde

Ich interpretiere das mal als:
- Im Interface soll die Methode ereignisAusfuehren() eine SimulatorException werfen (Ich muss dabei immer ans Kinderkriegen denken .... :D)
- Die implementierenden Methoden selbst werfen eine SimulatorException oder ein EreignisZuSpaet (laut Aufgabenstellung geht beides) und in den Methoden selbst wird ein EreignisZuSpaet-Fehler geworfen, wenn ....

Irgendjemand anderer Meinung?

.oO(wieso nur habe ich das Gefühl, dass es länger gedauert hat, diesen Text zu schreiben, als die Aufgabe zu lösen? ^,^)

Mata ne
Warui
Erwachsenwerden? Ich mach ja viel Scheiß mit, aber nicht jeden!

julianr

Erfahrener Schreiberling

Posts: 298

Date of registration: Oct 13th 2005

Location: I live in a giant bucket.

2

Thursday, June 29th 2006, 10:50am

RE: Java Übung 10

Quoted

Original von Warui
.oO(wieso nur habe ich das Gefühl, dass es länger gedauert hat, diesen Text zu schreiben, als die Aufgabe zu lösen? ^,^)


Die Aufgabe klingt wirklich einfach, das Problem ist eher, dass wir in unserer Blockzeit erst am Di um frühestens 11 Uhr erfahren, ob unsere eingeschickte Lösung von Üb9 was taugt, auf der wirs aufbauen sollen* ^^ Aber ich geh mal davon aus, dass Üb10 unabhängig genug davon ist, als dass da nix schief gehen kann...

(* Seitenhieb: Ja, es gibt eine Musterlösung, aber der trau ich auch nicht. Ich sag nur EreignisArray, Zeile 23 ;) SCNR :P)

This post has been edited 1 times, last edit by "julianr" (Jun 29th 2006, 10:52am)


Brainbug

Alter Hase

  • "Brainbug" is male

Posts: 150

Date of registration: Oct 6th 2002

Location: Hannover (Nordstadt)

Occupation: Hausmann

3

Thursday, June 29th 2006, 2:38pm

RE: Java Übung 10

Quoted

Original von julianr
Ich sag nur EreignisArray, Zeile 23 ;) SCNR :P)


Recht hast Du, wurde verbessert! ;)

Brainbug

Dot

Senior Schreiberling

Posts: 618

Date of registration: Feb 3rd 2003

Location: Ex-Europameisterland

Occupation: 4TheScience

4

Sunday, July 2nd 2006, 12:14pm

Seh ich es richtig,dass SimulationException eine abstract class ist und EreignisZuSpaet eine davon abgeleitete Klasse ja?
Und bei SimulationException müssen wir extends Exception machen oder?

Er sagt mir immer "unhandled exception type"
C:\reality.sys has errors - Reboot the universe? (Y/N)

Real programmers don't comment their code.
It was hard to write, it should be hard to understand

This post has been edited 3 times, last edit by "Dot" (Jul 2nd 2006, 12:48pm)


neweb

Erfahrener Schreiberling

  • "neweb" is male

Posts: 496

Date of registration: Jun 16th 2006

Location: Hannover

5

Sunday, July 2nd 2006, 12:47pm

Quoted

Original von Dot
Seh ich es richtig,dass SimulationException eine abstract class ist und EreignisZuSpaet eine davon abgeleitete Klasse ja?
Und bei SimulationException müssen wir extends Exception machen oder?


Mach aus der SimulationException eine richtigeKlasse, die du von Exception ableitest. Man kann auch von richtigen klassen vererben, solange du dies nicht explizit verbietest. Ansonsten dürftest du über ein paar Dinge bei deinem Programm stolpern...

<edit>
Hier steht der Unterschied zwischen abstrakten und normalen Klassen beschrieben:
http://www.galileocomputing.de/openbook/…40001EA1F04F100

Da du Instanzen von SimulationException bilden musst, geht das so nicht.
</edit>
Das Wesen der Dinge ist es, dass sie plötzlich verschwinden und dann unerwartet an einem ganz anderen Ort wieder auftauchen.

This post has been edited 1 times, last edit by "neweb" (Jul 2nd 2006, 12:51pm)


BLUESCREEN

Junior Schreiberling

  • "BLUESCREEN" is male

Posts: 244

Date of registration: Oct 11th 2005

6

Sunday, July 2nd 2006, 2:55pm

Ein paar Tipps:

In Aufgabe 1a steht, dass das Interface "IEreignis" eine Exception werfen soll.
Das geht so natürlich nicht, sondern gemeint ist, dass die Funktionen in dem Interface Exceptions werfen sollen. Und dies sollen auch nicht alle drei Funktionen tun, sondern nur die "ereignisAusfuehren".

Bei Aufgabe 1b sollen "Ankunft.ereignisAusfuehren" und "Abgang.ereignisAusfuehren" eine Exception werfen, falls die Ausführungszeit größer als 100 ist.
Dabei ist zu beachten, dass "Ankunft.ereignisAusfuehren" unter Umständen auch einen Abgang erstellt und bei diesem auch die Ausführungszeit überprüft werden muss!

Ich verstehe nicht, warum da in der Aufgabe so komische Vorgaben gemacht wurden. Es wäre sinnvoller gewesen, die Exception nicht in "ereignisAusfuehren", sondern in "setAusfuehrungszeit" zu werfen, dann hätte man solche Fälle sofort abgedeckt.
Deshalb hatte ich die Aufgabenstellung zuerst auch ignoriert und das so gelöst, aber dann kriegt man wiederum später das Problem, dass auch "Simulator.init" eine von "setAusfuehrungszeit" geworfene Exception weiterwerfen muss, was laut Aufgabe nicht verlangt war...

Noch was anderes:

Der Lösungsvorschlag zu Aufgabe 9 enthält in den Javadoc-Kommentaren Umlaute.
Beim Kompilieren auf UTF8-Systemen hat man dadurch lauter Warnungen. Es kann also vorkommen, dass auf dem Lösungsvorschlag basierende Lösungen zu Aufgabe 10 auf dem eigenen Rechner zwar Problemlos funktionieren, es dann aber bei der Vorstellung in der Uni zu Warnungen kommt, falls die Systeme da auf UTF8 eingestellt sind.

Dot

Senior Schreiberling

Posts: 618

Date of registration: Feb 3rd 2003

Location: Ex-Europameisterland

Occupation: 4TheScience

7

Sunday, July 2nd 2006, 3:44pm

Kann vielleicht jemand Teil d ein bisschen erklären was damit gemeint ist?
C:\reality.sys has errors - Reboot the universe? (Y/N)

Real programmers don't comment their code.
It was hard to write, it should be hard to understand

Warui

Turner, Serveradmin & Workaholic

  • "Warui" is male
  • "Warui" started this thread

Posts: 717

Date of registration: Apr 25th 2006

Location: Südstadt

Occupation: (iter (B.Sc. Inf, 8)) \n (be-a-slave ("SRA", "Bachelor Thesis")) \n (be-a-programmer-slave ("Freelancer", "Programming"))

8

Sunday, July 2nd 2006, 4:00pm

fang den Fehler auf, der von ereignisAusfuehren() geworfen wird .... also ein EreignisZuSpaet-Fehler .... und benutz dazu einen try-catch-block .... ;)
... tja und dann im catch-block ein throw new SimulatorException(e.getMessage()) (?)

;)

Mata ne
Warui
Erwachsenwerden? Ich mach ja viel Scheiß mit, aber nicht jeden!

Horseboy

Junior Schreiberling

  • "Horseboy" is male

Posts: 129

Date of registration: Oct 26th 2005

Location: Hannover

Occupation: B. Sc. Informatik

9

Sunday, July 2nd 2006, 8:28pm

Ich hab grade versucht den Lösungsvorchlagscode zu kompilieren und bekomme dabei über 40 Fehler. Wie soll man denn so die Aufgabe schaffen?
Zeit ist eine Illusion, und die Schlafenszeit erst recht.

This post has been edited 1 times, last edit by "Horseboy" (Jul 2nd 2006, 8:38pm)


Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

10

Sunday, July 2nd 2006, 8:41pm

Wenn ich raten darf: Indem du dir die Fehlermeldungen anschaust und als Folge von diesen die Umlaute rausnimmst.
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

Horseboy

Junior Schreiberling

  • "Horseboy" is male

Posts: 129

Date of registration: Oct 26th 2005

Location: Hannover

Occupation: B. Sc. Informatik

11

Sunday, July 2nd 2006, 8:44pm

Nein, ich rede von richtigen errors, nicht warnings. Wenn's nur warnings wären ginge es ja trotzdem.
Zeit ist eine Illusion, und die Schlafenszeit erst recht.

neweb

Erfahrener Schreiberling

  • "neweb" is male

Posts: 496

Date of registration: Jun 16th 2006

Location: Hannover

12

Sunday, July 2nd 2006, 9:05pm

Das Problem ist, dass die SimulatorApplication.java inm implementions-Verzeichnis liegt. Das kann so natürlich niemals funktionieren...

Sollte eigentlich beim 1. compilieren auffallen ;)... egal
Das Wesen der Dinge ist es, dass sie plötzlich verschwinden und dann unerwartet an einem ganz anderen Ort wieder auftauchen.


Horseboy

Junior Schreiberling

  • "Horseboy" is male

Posts: 129

Date of registration: Oct 26th 2005

Location: Hannover

Occupation: B. Sc. Informatik

13

Sunday, July 2nd 2006, 9:05pm

Kann ich nix dafür das is die Musterlösung.
Zeit ist eine Illusion, und die Schlafenszeit erst recht.

BLUESCREEN

Junior Schreiberling

  • "BLUESCREEN" is male

Posts: 244

Date of registration: Oct 11th 2005

14

Sunday, July 2nd 2006, 9:12pm

Abgesehen von dem Problem mit den Umlauten lief der Lösungsvorschlag bei mir ohne weiteren Problemen.

Kompilierung mittels "javac simulation/implementation/SimulatorApplikation.java".

neweb

Erfahrener Schreiberling

  • "neweb" is male

Posts: 496

Date of registration: Jun 16th 2006

Location: Hannover

15

Sunday, July 2nd 2006, 9:22pm

Da sind einige Sachen so, wie sie nicht sein sollten. Wenn man vorher an dem Classpath rumbastelt, mag das funktionieren.
Normaler weise packt man bei Programmen nicht das Hauptprogramm in ein Package. Das mag Java allgemein garnicht. Packt man die SimulatorApplikaton.java eine Ebene hoch muss man nurnoch die ganzen Package-Namen anpassen. Dann sollte es funktionieren.
Das Wesen der Dinge ist es, dass sie plötzlich verschwinden und dann unerwartet an einem ganz anderen Ort wieder auftauchen.


Markus

the one and only Unterstrich!

Posts: 2,571

Date of registration: Oct 9th 2003

16

Sunday, July 2nd 2006, 9:36pm

Also, bei mir hat auch alles an Anhieb geklappt, komisch ...
Charmant sein? Hab ich längst aufgegeben. Glaubt mir doch eh keiner...

neweb

Erfahrener Schreiberling

  • "neweb" is male

Posts: 496

Date of registration: Jun 16th 2006

Location: Hannover

17

Sunday, July 2nd 2006, 9:41pm

naja... eine Main gehört definitiv nicht in ein Package. So sind Packages nicht gedacht. Packages sind für die Wiederverwendung von Code eingeführt worden. Eine Main verwendet man normalerweise so nicht wieder. Ansonsten baut man eine Unterklasse, in der die Dinge liegen, die wiederverwendet werden sollen. Zudem sollte ein Konstruktor immer public sein!

Quoted


SimulatorApplikation.java:17: Simulator() is not public in implementation.Simulator; cannot be accessed from outside package
Simulator meineSimulation = new Simulator();
^
1 error

Das Wesen der Dinge ist es, dass sie plötzlich verschwinden und dann unerwartet an einem ganz anderen Ort wieder auftauchen.

This post has been edited 1 times, last edit by "neweb" (Jul 2nd 2006, 9:41pm)


neweb

Erfahrener Schreiberling

  • "neweb" is male

Posts: 496

Date of registration: Jun 16th 2006

Location: Hannover

18

Sunday, July 2nd 2006, 10:16pm

So... für alle, die mit der Struktur der Musterlösung probleme haben, habe ich die mal geändert... Die Umlaute, die Probleme machen habe ich rausgenommen ;)
Das Wesen der Dinge ist es, dass sie plötzlich verschwinden und dann unerwartet an einem ganz anderen Ort wieder auftauchen.


Brainbug

Alter Hase

  • "Brainbug" is male

Posts: 150

Date of registration: Oct 6th 2002

Location: Hannover (Nordstadt)

Occupation: Hausmann

19

Sunday, July 2nd 2006, 11:20pm

Hm...

Ich hatte damit zwar keine Probleme, als ich das ausprobiert habe, aber bitte, eine Version mehr kann ja nicht schaden. Im übrigen ein interessantes Beispiel dafür, was passiert, wenn man einen Modifier vergisst: durch das fehlende public ist der oben angesprochene Konstruktor implizit "package", also nur innerhalb des Packages sichtbar (was ja grundsätzlich kein Problem wäre, wenn man hier nicht versucht hätte, die main-Klasse aus dem Package zu rupfen ;) - meiner Meinung nach übrigens nicht unbedingt nötig; denke, das ist Ansichtssache). Den Hinweis mit den Umlauten werde ich ab sofort berücksichtigen.

Brainbug

Warui

Turner, Serveradmin & Workaholic

  • "Warui" is male
  • "Warui" started this thread

Posts: 717

Date of registration: Apr 25th 2006

Location: Südstadt

Occupation: (iter (B.Sc. Inf, 8)) \n (be-a-slave ("SRA", "Bachelor Thesis")) \n (be-a-programmer-slave ("Freelancer", "Programming"))

20

Monday, July 3rd 2006, 12:06am

Irgendwie bleibt auch in der Vorlesung nicht mehr so wirklich viel Stoff übrig oO .... sind das wirklich noch 3 Übungen oder tun die nur so? :D

Is ja eigentlich nur noch Generics ... laut Skript ... weil Arrays hat man schon ewig gebraucht und Varargs zwar nicht direkt, aber zumindest gesehen wird man sie schonmal haben .... kann mir schlecht vorstellen, dass sich eine komplette Übung nur um Varargs dreht .... 8o

Mata ne
Warui
Erwachsenwerden? Ich mach ja viel Scheiß mit, aber nicht jeden!