Hausübung 11

Xelord
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 225
Registriert: 23. Okt 2004 09:49

Beitrag von Xelord »

nicht vorgesehen...

hcdenton
Mausschubser
Mausschubser
Beiträge: 92
Registriert: 21. Dez 2006 17:15

Beitrag von hcdenton »

Xelord hat geschrieben:nicht vorgesehen...
nicht schoen...
Bild

Benutzeravatar
Robert
Ehemalige Fachschaftler
Beiträge: 511
Registriert: 6. Okt 2004 17:38
Wohnort: DA

Beitrag von Robert »

würden wir zusatzpunkte vergeben müsste man die bonus regelung ändern.
da ja gleiche chancen für alle gelten muss muss auch von jedem die 100% erreichbar sein. da sowas aber mit bonuspunkten jemand mehr als 10 punkte erreichen kann würde das nicht mehr für alle möglich sein, da es nicht ersichtlich war das es bonuspunkte gibt und für was.


und nochmal zum thema banken und java:
schaue dir mal bitte unter: (nur mit VPN oder aus dem TUD Netz)
http://www.mm.informatik.tu-darmstadt.d ... index.html
die Vorlesung 8 "Branchensicht Finanzdienstleistungen" an .. Folie 23 und folgende
dann siehst du das JAVA durchaus eingesetzt wird. ... wobei da etwas anders programiert wird als in gdi1 ;)

hcdenton
Mausschubser
Mausschubser
Beiträge: 92
Registriert: 21. Dez 2006 17:15

Beitrag von hcdenton »

Robert hat geschrieben:wobei da etwas anders programiert wird als in gdi1 ;)
Etwas anders? Sprich, thread-safe? ;)

EDIT: Kann in den Folien nur was von Java-Servlets finden... meintest du das?
Bild

Benutzeravatar
blowfish
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 241
Registriert: 18. Okt 2006 16:00

Beitrag von blowfish »

hcdenton hat geschrieben: Etwas anders? Sprich, thread-safe? ;)
alle mal herhören. der hcdenton weiß, was thread-safe heißt und kann das programmieren! haben's alle gehört? dann bitte eine runde applaus und einmal verbeugen!
danke für ihre aufmerksamkeit!
Ein Hemd ist Einstellungssache!

hcdenton
Mausschubser
Mausschubser
Beiträge: 92
Registriert: 21. Dez 2006 17:15

Beitrag von hcdenton »

blowfish hat gesprochen ;)
Bild

Drudge
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 158
Registriert: 13. Apr 2004 20:17

Beitrag von Drudge »

Kann ich davon ausgehen, dass bei einem transfer immer positive werte eigegeben werden... sonst könnte man diese funktion ja quasi zum geldklauen benutzen, da man seine eigene pin ja kennt.

wenn ich geld abhebe, dann gibt man ja in der regel den wert an und nicht einen negativen betrag... ich kann also davon ausgehen, dass den methoden nur positive werte bei tests übergeben werden?

*edit*

Mist, eben hab ich bei den kommentaren gesehen, dass man bei der methode
addtransaction(string int) nur pos werte eingeben darf... blöd weil ich negative eingaben schon in der klasse bank abgefangen habe und die methode auch zum abbuchen genutzt habe... addtransaction(string string int) habe ich nur zum prüfen der pin benutzt.

*edit2*

Dürfen die Methoden dieses mal länger sein? Durch die ganzen Prüfungen der Parameter und die try/catch-Blöcke sind sie dieses mal doch umfangreicher als sonst. Man könnte zwar alle Tests ausgliedern, jedoch leidet dann die Übersicht bei den Methoden erheblich.

diese variante ist wohl nicht erlaubt???

Benutzeravatar
Robert
Ehemalige Fachschaftler
Beiträge: 511
Registriert: 6. Okt 2004 17:38
Wohnort: DA

Beitrag von Robert »

also ich sehe das so (das ist meine persönliche Meinung, keine offizielle Stellungnahme):

Wenn man tests hat im stile von:
if( ..... ) throw ...;
if( ..... ) throw ...;
if( ..... ) throw ...;

vllt auch mal
if( ... || ... || ... ) throw ...;

würde ich alles in der Funktion belassen und bei der Länge nur auf echten code zählen und achten diesen kurz, prägnant und übersichtlich zu halten.

hat man jedoch sowas längeres wie:
for(...) {
< irgend was checken>
< vllt noch irgendwelche ifs>
< throw ... oder if(...) throw >
}

dann würde ich das schon in eine extra Funktion auslagern.

Taldera
Erstie
Erstie
Beiträge: 21
Registriert: 16. Nov 2006 11:46

Exceptions in Account fangen

Beitrag von Taldera »

Darf ich Exceptions auch schon in Account abfangen, oder muss sie unbedingt bis nach Bank geworfen werden?
Für das Überprüfen des Pins ist es nämlich viel praktischer, sie gleich in Account zu fangen und entsprechende Maßnahmen zu ergeifen.

Sollte die Methode getAccount nicht auch ne BankException werfen, wenn es den Account nicht gibt?

citta
Mausschubser
Mausschubser
Beiträge: 96
Registriert: 7. Nov 2006 21:52

Beitrag von citta »

Bei addTransaction ohne PIN steht im Javadoc: "@throws ValueException if the value is negative". In der Aufgabe steht davon nichts, sondern lediglich, dass eine ValueException nur dann geworfen werden soll, wenn das Konto insgesamt ins Minus gerät.

Im Methodenrumpf wird keine solche Ausnahme geworfen. Sollen wir die Methode so erweitern, dass sie das tut? Wenn ja, müssen wir auch bei der negativen addTransaction testen, ob der Parameter positiv ist und andernfalls eine ValueException werfen? Oder sollen wir den Javadoc-Kommentar oben einfach entfernen?

Benutzeravatar
Tapion
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 220
Registriert: 14. Okt 2006 19:16
Wohnort: Darmstadt

Beitrag von Tapion »

Es ist meines Errachtens nicht sinnvoll, Exceptions schon in der Klasse abzufangen, in der sie geworfen werden. Wenn man eine Klasse später wiederverwenden will, bedeutet das dann nämlich, dass man all das fangen umändern muss, da das Verhalten vielleicht anders sein soll. Wenn du einen "Fehler" schon innerhalb einer Klasse "beheben" willst, dann brauchst du dafür i.d.R. keine AUsnahmen.
WS 2010/11 - Tutor GDI 1
SS 2010 - Tutor FGI 1+2

neffs
Mausschubser
Mausschubser
Beiträge: 50
Registriert: 16. Okt 2006 19:07
Kontaktdaten:

Beitrag von neffs »

wer hat eigentlich diese übung zusammengetippt? und vor allem hat er die mal durchprogrammiert?

besonders genial finde ich, dass transfer und payout pinexceptions werfen sollen um accountsperrungen durchzuführen...
d.h. man soll in das komplette hochzählen der fehlversuche in main implementieren....

oder gehts bei der ganzen aktion gar nicht um sinnvolles programmieren sondern nur um design by contract, koste es was es wolle

Christoph B
Computerversteher
Computerversteher
Beiträge: 370
Registriert: 15. Okt 2006 18:28
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Christoph B »

hmmm, beide methoden benutzen addTransaction, in der die PIN ja auch erst geprüft wird :D

Benutzeravatar
m0ep
Endlosschleifenbastler
Endlosschleifenbastler
Beiträge: 189
Registriert: 5. Okt 2006 22:52
Wohnort: Bensheim
Kontaktdaten:

Beitrag von m0ep »

mhm also das hochzählen und sperren geschieht bei mir alles in der Bankklasse :/
Lasst mich Arzt, ich bin durch!

Xelord
Sonntagsinformatiker
Sonntagsinformatiker
Beiträge: 225
Registriert: 23. Okt 2004 09:49

Beitrag von Xelord »

addTransaction mit Pin sollte jeden Value verarbeiten können, also egal ob negativ oder positiv.
addTransaction ohne Pin, sollte logischerweise nur positive Values entgegennehmen.

@neffs: (--> Website). Alle Exceptions (ausser BankExceptions) können auch schon in der Klasse Account geworfen werden und in der Klasse Bank abgefangen werden.
--> Abfangen in Payout und Transfer wäre möglich.

@m0ep: Mit ner Hashmap ?

Viele Grüße

Antworten

Zurück zu „Archiv“