Übung 11 online!!!!

Benutzeravatar
Jo(h)nny
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 197
Registriert: 19. Dez 2007 23:39

Übung 11 online!!!!

Beitrag von Jo(h)nny » 17. Jan 2008 17:14

also ich hab ja nichts gegen aufgaben und so....:)
Atomenergie ist wie Sex - im Prinzip genial, wenn man nur wüsste wohin mit den Endprodukten.

Benutzeravatar
Krümelmonster
Geek
Geek
Beiträge: 767
Registriert: 17. Okt 2007 13:58
Wohnort: Jossgrund

Re: Übung 11 online!!!!

Beitrag von Krümelmonster » 17. Jan 2008 17:59

Und dazu habe ich auch gerade eine Frage:
Es wurde ja in der Vorlesung kurz gezeigt, wie man eigene Exceptions erstellt.

Eclipse beschwert sich aber bei der einfachen Implementierung:
The serializable class AirportException does not declare a static final
serialVersionUID field of type long
//edit
Kann die Ausnahme in AirborneComputer, dass das Flugzeug null ist
einfach so weitergegeben werden oder muss die Nullpointer-Ausnahme
in der Methode, in der sie auftritt, abgefangen und eine Airplane-Ausnahme
geworfen werden?
Wir betrachten die maximale Flughöhe, Ge-
schwindigkeit und Tankinhalt als positive int-Werte
Schließt diese Aussage die Null mit ein?
Treibstoff geht ja auch leer und in Unteraufgabe 7 wird
gesagt, dass die Höhe mit Null instanziert wird.
Dateianhänge
screenshot2.png
Vorschläge von Eclipse zur Behebung
screenshot2.png (27.22 KiB) 2216 mal betrachtet
Stell deinen Fuß auf einen hohen Sockel
Mach dir ein Haar aus tausend Locken
Du bleibst doch immer, was du bist!

Benutzeravatar
Jo(h)nny
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 197
Registriert: 19. Dez 2007 23:39

Re: Übung 11 online!!!!

Beitrag von Jo(h)nny » 17. Jan 2008 23:31

also ich hab das so gemacht, dass der konstruktor überprüft, ob die werte unter 0 sind.
mein Airborne konstruktor erstellt ein objekt von airplane mit werten 0. und bei der aufgabe 7 meinen sie, dass du die variable sofort auf 0 setzt, damit brauchst du in deinem konstruktor später die höhe auf 0 nicht zu setzen
aso fast vergessen, meine exceptions sind auch gelb unterstrichen :)
Atomenergie ist wie Sex - im Prinzip genial, wenn man nur wüsste wohin mit den Endprodukten.

Benutzeravatar
Krümelmonster
Geek
Geek
Beiträge: 767
Registriert: 17. Okt 2007 13:58
Wohnort: Jossgrund

Re: Übung 11 online!!!!

Beitrag von Krümelmonster » 17. Jan 2008 23:40

Naja, einfach ein Flugzeug im Airborne-Computer zu erstellen kann ja auch nicht Sinn der Sache sein,
immerhin steht im Kommentar der getAirplane()-Methode extra:

Code: Alles auswählen

/**
	 * returns the bord computer's current airplane
	 * 
	 * @return the current airplane ([b]may be null![/b])
	 */
Die Tatsache, dass ich die Höhe auf Null setzen kann/soll sagt noch nicht,
ob das auch durch eine Methode passieren darf/soll.
Stell deinen Fuß auf einen hohen Sockel
Mach dir ein Haar aus tausend Locken
Du bleibst doch immer, was du bist!

Benutzeravatar
Jo(h)nny
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 197
Registriert: 19. Dez 2007 23:39

Re: Übung 11 online!!!!

Beitrag von Jo(h)nny » 17. Jan 2008 23:46

jop, hast recht, mit der setAirplane setze ich mein flügzeug :) ,
die Höhe muss man aber bei der deklaration initialisieren:)

aso, hab gearde geguckt,
Contructor; initializes plane and airportMap
also muss man beim airbornecomputer das flügzeug und karte initialisieren
Zuletzt geändert von Jo(h)nny am 17. Jan 2008 23:52, insgesamt 1-mal geändert.
Atomenergie ist wie Sex - im Prinzip genial, wenn man nur wüsste wohin mit den Endprodukten.

Benutzeravatar
Jo(h)nny
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 197
Registriert: 19. Dez 2007 23:39

Re: Übung 11 online!!!!

Beitrag von Jo(h)nny » 17. Jan 2008 23:49

sag ma, wieviel treibstoff du am ende hast, damit ich gucke, ob ich die flyto richtig gemacht hab
Atomenergie ist wie Sex - im Prinzip genial, wenn man nur wüsste wohin mit den Endprodukten.

Benutzeravatar
Krümelmonster
Geek
Geek
Beiträge: 767
Registriert: 17. Okt 2007 13:58
Wohnort: Jossgrund

Re: Übung 11 online!!!!

Beitrag von Krümelmonster » 18. Jan 2008 00:03

Auch eine Initialisierung mit null ist eine Initialisierung.

Am Ende habe ich 4081 Einheiten Treibstoff.
Stell deinen Fuß auf einen hohen Sockel
Mach dir ein Haar aus tausend Locken
Du bleibst doch immer, was du bist!

Benutzeravatar
Jo(h)nny
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 197
Registriert: 19. Dez 2007 23:39

Re: Übung 11 online!!!!

Beitrag von Jo(h)nny » 18. Jan 2008 00:08

ka was du meinst
ich hab am ende 4079 :)
Atomenergie ist wie Sex - im Prinzip genial, wenn man nur wüsste wohin mit den Endprodukten.

Benutzeravatar
Krümelmonster
Geek
Geek
Beiträge: 767
Registriert: 17. Okt 2007 13:58
Wohnort: Jossgrund

Re: Übung 11 online!!!!

Beitrag von Krümelmonster » 18. Jan 2008 00:13

Das ist ein Rundungsfehler, da du wahrscheinlich nur Double nach int castet,
ich hingegen benutze Math.round() und caste long nach int.
Stell deinen Fuß auf einen hohen Sockel
Mach dir ein Haar aus tausend Locken
Du bleibst doch immer, was du bist!

Benutzeravatar
Jo(h)nny
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 197
Registriert: 19. Dez 2007 23:39

Re: Übung 11 online!!!!

Beitrag von Jo(h)nny » 18. Jan 2008 00:19

tatsächlich, danke, hab soeben 2 liter super plus gespart , wir wollen ja für die umwelt was gutes tun :mrgreen:
Atomenergie ist wie Sex - im Prinzip genial, wenn man nur wüsste wohin mit den Endprodukten.

gismo
Windoof-User
Windoof-User
Beiträge: 34
Registriert: 10. Jan 2007 17:06
Wohnort: Darmstadt
Kontaktdaten:

Re: Übung 11 online!!!!

Beitrag von gismo » 18. Jan 2008 09:38

Hi,

wenn ihr so geringe Abweichungen habt, ist das ganz normal, eben wegen dieser Rundungen und dem casten. Das wird von euren Tutoren entsprechend berücksichtigt werden (sprich, es gibt einen gewissen Toleranzbereich)

Benutzeravatar
Jo(h)nny
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 197
Registriert: 19. Dez 2007 23:39

Re: Übung 11 online!!!!

Beitrag von Jo(h)nny » 18. Jan 2008 14:26

@gismo, also jetzt passt ja alles:)
Atomenergie ist wie Sex - im Prinzip genial, wenn man nur wüsste wohin mit den Endprodukten.

Benutzeravatar
guido
Computerversteher
Computerversteher
Beiträge: 378
Registriert: 30. Nov 2003 21:24
Wohnort: Mühltal
Kontaktdaten:

Re: Übung 11 online!!!!

Beitrag von guido » 19. Jan 2008 12:07

Krümelmonster hat geschrieben:Und dazu habe ich auch gerade eine Frage:
Es wurde ja in der Vorlesung kurz gezeigt, wie man eigene Exceptions erstellt.

Eclipse beschwert sich aber bei der einfachen Implementierung:
The serializable class AirportException does not declare a static final
serialVersionUID field of type long
Das ist nur eine Warnung, die ihr getrost ignorieren könnt. Die dient nur internen Zwecken bei einer bestimmten Art der Speicherung ("Serialization"), die für uns im Rahmen der Aufgabe (Spötter würden sagen: und auch sonst) völlig irrelevant ist. Ihr könnt also über QuickFix etwas generieren lassen oder es ignorieren, ganz wie ihr wollt.

Da 0 eine positive Zahl ist, ist "ohne Treibstoff" und "auf Meereshöhe" (beide = 0) legal; -1 jeweils aber nicht. (-1 wäre auch nicht "auf Reserve" :))

Guido

Benutzeravatar
Krümelmonster
Geek
Geek
Beiträge: 767
Registriert: 17. Okt 2007 13:58
Wohnort: Jossgrund

Re: Übung 11 online!!!!

Beitrag von Krümelmonster » 19. Jan 2008 14:39

Ok, Danke für die Antwort.

Jetzt bleibt nurnoch die Frage, ob die NullPointerException abgefangen werden muss,
falls man versucht in dem Computer das Flugzeug zu steuern, welches noch gar nicht
initialisiert wurde. Soll diese Exception intern abgefangen und stattdessen eine AirplaneException
geworfen werden, oder sollen alle Methoden, bei denen potenziell eine NullPointerException
auftreten kann, ein throws NullPointerException bekommen?
Stell deinen Fuß auf einen hohen Sockel
Mach dir ein Haar aus tausend Locken
Du bleibst doch immer, was du bist!

Benutzeravatar
Jo(h)nny
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 197
Registriert: 19. Dez 2007 23:39

Re: Übung 11 online!!!!

Beitrag von Jo(h)nny » 19. Jan 2008 15:15

nun ich denk ma nicht, dass das ein teil der übung ist, denn man müsste ja dann in jeder funktion, die das flügzeug steuern sollte, ein try-catch block einbauen.
un wenn du jedes ma statt einer exception ne andere ausgibst macht das auch nicht so viel sinn:)
oder sollen alle Methoden, bei denen potenziell eine NullPointerException
auftreten kann, ein throws NullPointerException bekommen?
e ist ja so, dass nullpointerexception eine laufteitausbahme ist und dem entsprechend musst du nicht angeben, wenn eine methode sie werfen kann.
kannst einfach sagen, wenn flugzeug gleich null ist, wirf eine nullpointerexception("geht nicht!!!!")
Atomenergie ist wie Sex - im Prinzip genial, wenn man nur wüsste wohin mit den Endprodukten.

Antworten

Zurück zu „Archiv“