2. Übung

31 posts in this topic

Posted

schaut auf den ersten blick mal recht fies aus :D

Share this post


Link to post
Share on other sites

Posted

In der Angabe steht, man soll im Interface Subject und der Klasse WetterDaten eine Methode notify() implementieren. Dies ist jedoch nicht möglich, da es eine final Methode in java.lang.Object überschreiben würde.

Mein Vorschlag: Die Methode einfach notifyMe() nennen.

RFC

Share this post


Link to post
Share on other sites

Posted

In der Angabe steht, man soll im Interface Subject und der Klasse WetterDaten eine Methode notify() implementieren. Dies ist jedoch nicht möglich, da es eine final Methode in java.lang.Object überschreiben würde.

Wo hast du das her, ich finde das nicht. Es steht im Klassendiagramm nur vom Typ void, aber nichts vom Final.

Falls du vom Java-eigenen Observer-Pattern sprichts, dann ist das hier uninteressant. In dieser Aufgabe muss man ein eigenes Observer Pattern implementieren.

Share this post


Link to post
Share on other sites

Posted

Ja, in der Angabe steht nix von Final.

Aber die Methode notify() in java.lang.Object ist final und deshalb kannst du keine anlegen, die genauso heist.

By the way: Hier ist die Lösung

Wie beim letzten Mal: Seht es euch an, nehmt es als Hilfe, diskutiert darüber, aber uploaded es nicht selbst.

mfg Albino :D

Share this post


Link to post
Share on other sites

Posted

Hi leute,

hab folgendes problem: wenn ich mit der readline() Methode, die in der Angabe steht arbeite, wie kann ich dann den gelesenen String prüfen um herauszufinden, ob es sich um einen float, int oder String handelt. Wenn ich den String nur stur in einen float umwandle wie AT in seinem prog (danke für diesen Abschnitt an dieser Stelle) und ich gebe dann im Menü (Switch Auswahl mit Integer) einen String ein hängt sich mein programm auf. hab versucht das irgendwie mit if() else abzufangen, komm aber nicht darauf.

Also noch mal: Was gibt es in Java für Möglichkeiten um Zeichen auf Zahlen zu prüfen?

MfG

Share this post


Link to post
Share on other sites

Posted

Hi leute,

hab folgendes problem: wenn ich mit der readline() Methode, die in der Angabe steht arbeite, wie kann ich dann den gelesenen String prüfen um herauszufinden, ob es sich um einen float, int oder String handelt. Wenn ich den String nur stur in einen float umwandle wie AT in seinem prog (danke für diesen Abschnitt an dieser Stelle) und ich gebe dann im Menü (Switch Auswahl mit Integer) einen String ein hängt sich mein programm auf. hab versucht das irgendwie mit if() else abzufangen, komm aber nicht darauf.

Also noch mal: Was gibt es in Java für Möglichkeiten um Zeichen auf Zahlen zu prüfen?

MfG

servus

fange die Exception welche da natürlich entsteht doch einfach mittels try & catch ab!

mfg

Share this post


Link to post
Share on other sites

Posted

frage...wie kann ich in windows xp classpath setzen?

also ohne jedesmal im dos -classpath d:\ etc etc. zu schreiben?

Der tutor hat das letztens in irgendwelchen Optionen reingeschrieben?!

Share this post


Link to post
Share on other sites

Posted

frage...wie kann ich in windows xp classpath setzen?

also ohne jedesmal im dos -classpath d:\ etc etc. zu schreiben?

Der tutor hat das letztens in irgendwelchen Optionen reingeschrieben?!

Systemsteuerung --> System --> Erweitert --> Umgebungsvariablen :)

Share this post


Link to post
Share on other sites

Posted

ok...

und da schreib ich bei der Systemvariablen CLASSPATH:

C:\Program Files\Java\jdk1.6.0_10\bin rein...is das richtig?

hab ich probiert...funst aber nicht

Share this post


Link to post
Share on other sites

Posted

probier mal in deinem bin ordner nachzusehen ob da drin eine datei ist die "javac.exe" heißt wenn ja kopiere dir den gesamten dateipfad und füge ihn(pfad) in oben beschriebener weise ein und zwar unter "PATH"

post-4491-1227552104_thumb.jpg

dann öffne mit start-ausführen-cmd und tippe dort einfach 'javac'

wenn alles klappt sollte es dann wie in anhang 2 aussehen

post-4491-1227552112_thumb.jpg

lg

Share this post


Link to post
Share on other sites

Posted

Thx für die schnelle antwort! funktioniert hab nur die ";" vergessen ^^

und sorry fürs zuspamen!

Share this post


Link to post
Share on other sites

Posted

@KalleWorldwide:

wenn string deine variable vom typ String ist, dann liefert

* string.matches("[\\d]+") genau dann true wenn dein String einen ganzzahligen wert enthält (keine leerzeichen davor und danach erlaubt)

* string.matches("[\\d]+\\.[\\d]+") genau dann true wenn deine zahl nachkommastellen besitzt

so kannst du prüfen ob deine eingaben das entsprechende format besitzen.

weiter informationen zu solchen regulären ausdrücken findest du hier.

alternativ könntest du auch beim parsen des strings mit Integer.parseInt(string) oder Float.parseFloat(string) die NumberFormatException fangen und mit einem boolean eine weitere iteration in einer eingabeschleife bewirken bis ein korrektes format eingegebn wurde.

hoffe ich konnte helfen :)

Share this post


Link to post
Share on other sites

Posted

Kann mir jemand erklären wozu des Interface DisplayElement gut ist ?

Eigentlich braucht man das nirgendwo im Programm...

Share this post


Link to post
Share on other sites

Posted

Die jeweiligen Displays implementieren DisplayElement, da sie alle eine display() - Funktion haben, die aber bei jedem Display anders aufgebaut ist (Polymorphismus).

Hab ich das richtig verstanden?

Share this post


Link to post
Share on other sites

Posted

Ich bin ganz der Meinung von Ziggi.

Das Interface DisplayElement beinhaltet eben nur sozusagen die "Deklaration" von display(). In jedem der 3 Display Klassen wird dann die Funktion dementsprechend wie sie im jeweiligen Display benötigt wird spezialisiert.

mfg

Share this post


Link to post
Share on other sites

Posted

Ich bin ganz der Meinung von Ziggi.

Das Interface DisplayElement beinhaltet eben nur sozusagen die "Deklaration" von display(). In jedem der 3 Display Klassen wird dann die Funktion dementsprechend wie sie im jeweiligen Display benötigt wird spezialisiert.

mfg

Ja, das Prinzip ist klar, aber das Programm würde genausogut ohne dem Interface auskommen.

mfg

Share this post


Link to post
Share on other sites

Posted

ja das stimmt,

ich denke Display soll quasi das "Einsteiger" interface sein, damit man sich daran gewähnt und der Observer ist dann das echte.

Eine Anwendung für das Interface Display wäre, wenn man in der Wetterstation immer nur ein Display haben möchte, und dieser Variablen könnte man dann theoretisch alle drei Displays zuordnen, obwohl sie völlig unterschiedliche Klassen sind. hoffe das ist irgendwie klar....

aber wie gesagt, gebraucht wird es meines Wissens nicht.....

Share this post


Link to post
Share on other sites

Posted

ja das stimmt,

ich denke Display soll quasi das "Einsteiger" interface sein, damit man sich daran gewähnt und der Observer ist dann das echte.

Eine Anwendung für das Interface Display wäre, wenn man in der Wetterstation immer nur ein Display haben möchte, und dieser Variablen könnte man dann theoretisch alle drei Displays zuordnen, obwohl sie völlig unterschiedliche Klassen sind. hoffe das ist irgendwie klar....

aber wie gesagt, gebraucht wird es meines Wissens nicht.....

Möglicherweise war es so gedacht, geht für mich aber irgendwie am Sinn vorbei ein Interface zu implementieren das dann gar nicht gebraucht wird

Share this post


Link to post
Share on other sites

Posted

Noch eine Frage zu den Fehlerbehandlungen....wie genau sollte man die Fehlerbehandlung implementieren...denn in der Angabe steht eigentlich nichts von ausgiebiger Fehlerbehandlung....

Hab eigentlich vor mittels try und catch die Eingabe beim Menü von Buchstaben zu verhindern, und beim Setzen von neuen Messdaten ebenfalls nur Zahlenwerte zuzulassen....

Nur reicht es hier wiederum einfach nur kurz eine Fehlermeldung rauszuhauen, und danach wird das Programm beendet, oder ist es ratsam auch noch extra Schleifen einzubauen, damit der Benutzer zur korrekten Eingabe quasi gezwungen wird.

Was habt ihr vor?

mfg

Share this post


Link to post
Share on other sites

Posted

Noch eine Frage zu den Fehlerbehandlungen....wie genau sollte man die Fehlerbehandlung implementieren...denn in der Angabe steht eigentlich nichts von ausgiebiger Fehlerbehandlung....

Hab eigentlich vor mittels try und catch die Eingabe beim Menü von Buchstaben zu verhindern, und beim Setzen von neuen Messdaten ebenfalls nur Zahlenwerte zuzulassen....

Nur reicht es hier wiederum einfach nur kurz eine Fehlermeldung rauszuhauen, und danach wird das Programm beendet, oder ist es ratsam auch noch extra Schleifen einzubauen, damit der Benutzer zur korrekten Eingabe quasi gezwungen wird.

Was habt ihr vor?

mfg

Ich habs - wie du - mit Exceptions gelöst. Wird beim Setzen der Messwerte keine Zahl eingegeben, wird die Einleseprozedur für die 3 Messwerte mit "break;" verlassen und zum Hauptmenü zurückgekehrt (natürlich mit einer zuvor ausgegebenen Fehlermeldung) - die Messwerte werden nicht gesetzt.

Share this post


Link to post
Share on other sites

Posted

Wie kann ich eine Rückmeldung vom Observer bekommen ob das Display schon instanziert ist?

Bitte um Hilfe!

Lg Maxl

Share this post


Link to post
Share on other sites

Posted

Sollen wir auch wieder alle sonstigen Zugriffe über Getter und Setter machen?

auch wenn wir sie nicht brauchen zumindest wieder implementieren?

Lg Maxl

Ich hab mich im Wesentlichen an die Skizze in der Angabe gehalten...

Share this post


Link to post
Share on other sites

Posted

mal ganz was anderes ....

http://www.ict.tuwien.ac.at/lva/384.061/?ue_upload=

WICHTIG: Ihr zweites Beispiel müssen Sie bis spätestens So. 30.11.2008 um 24Uhr für die Abgabetermine am 1. und 2. Dez. 2008 uploaden.

Nach der obigen Deadline wird der Zugang zum Uploadinterface deaktiviert!

sollte der upload nicht noch 18 std. lang aktiviert sein ?

lol ? :/

Share this post


Link to post
Share on other sites

Posted

mal ganz was anderes ....

http://www.ict.tuwien.ac.at/lva/384.061/?ue_upload=

WICHTIG: Ihr zweites Beispiel müssen Sie bis spätestens So. 30.11.2008 um 24Uhr für die Abgabetermine am 1. und 2. Dez. 2008 uploaden.

Nach der obigen Deadline wird der Zugang zum Uploadinterface deaktiviert!

sollte der upload nicht noch 18 std. lang aktiviert sein ?

lol ? :/

ich hab das Beispiel noch nicht upgeloaden..was sollte ich jtzt machen?????

:)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now