Einsendeaufgabe 5

Dr Franke Ghostwriter
Folgende Antworten habe ich schon:


1a) E
1b) D

2a) E (???)
2b) A,C,D,F,G,I,J,K

3) s. Post #2
a) Bei (1 Tage,10 km): 6000 Cents
b) Bei (2 Tage,0 km): 8000 Cents
c) Bei (4 Tage,200 km): 12000 Cents
d) Bei (8 Tage,250 km): 23750 Cents
e) Bei (11 Tage,199 km): 26000 Cents
f) Bei (13 Tage,150 km): 30000 Cents
g) Bei (14 Tage,150 km): 35800 Cents
h) Bei (20 Tage,250 km): 40750 Cents


mehr habe ich noch nicht...

Können wir vergleichen?
 
Zu
3) mit Quellcode von Aufgabe 5 verglichen, hier richtige Lösungen:
a) Bei (1 Tage,10 km): 6000 Cents
b) Bei (2 Tage,0 km): 8000 Cents
c) Bei (4 Tage,200 km): 12000 Cents
d) Bei (8 Tage,250 km): 20750 Cents
e) Bei (11 Tage,199 km): 26000 Cents
f) Bei (13 Tage,150 km): 30000 Cents
g) Bei (14 Tage,150 km): 31800 Cents
h) Bei (20 Tage,250 km): 33000 Cents
 
Ok danke, ich ueberpruefe 2a wenn ich Zuhause bin nochmal.
Wie hast Du die 4?
Ich kontrolliere im Prinzip nur, ob das Program bei richtiger Angabe von Tag und km die richtige Lösung ausgibt. Mehr tue ich nicht. Kontrolliert Du anderes, wie z.B. das Tag und km auch den richtigen Wert entsprechen? Dann müsste man aber davon ausgehen, dass oder die Variabeln Public sind oder es eine Getter-Methode für diese Werte gibt.
Ich war hier am Zweifeln...
 
Hallo,
1, 2b und 3 habe ich genau wie du.
Bei 2a sind meine Ergebnisse a,c,f. E - nicht, weil das Debuggen Teil des Komponenten- bzw. Modultest ist, d.h. Programmfehler werden während des Debuggens gefunden, aber nicht vorher.

Seh ich anders:
Es wurde ein Anwendungsfehler gefunden und mit Hilfe des Debuggers findest du den Fehler im Code. Daher existiert m.M. nach der Fehler schon vorher.
 
Wie hast Du die 4?
Ich kontrolliere im Prinzip nur, ob das Program bei richtiger Angabe von Tag und km die richtige Lösung ausgibt. Mehr tue ich nicht. Kontrolliert Du anderes, wie z.B. das Tag und km auch den richtigen Wert entsprechen? Dann müsste man aber davon ausgehen, dass oder die Variabeln Public sind oder es eine Getter-Methode für diese Werte gibt.
Ich war hier am Zweifeln...

Mit 4 und 5 habe ich mich noch nicht beschäftigt. Wollte ich erst nach Dienstag, weil Dienstags die mentorielle Betreuung ist.
 
Seh ich anders:
Es wurde ein Anwendungsfehler gefunden und mit Hilfe des Debuggers findest du den Fehler im Code. Daher existiert m.M. nach der Fehler schon vorher.

Genauso sehe ich das auch. Der Fehler wurde vor dem Debuggen zur Runtime entdeckt (Programmabsturz o.ä.).
F kann nicht stimmen, da das Tool javadoc nur mittels /** Kommentar */ verwendet wird.

Aufgabe 2 müsste A,C,E lauten
 
Zu
3) mit Quellcode von Aufgabe 5 verglichen, hier richtige Lösungen:
a) Bei (1 Tage,10 km): 6000 Cents
b) Bei (2 Tage,0 km): 8000 Cents
c) Bei (4 Tage,200 km): 12000 Cents
d) Bei (8 Tage,250 km): 20750 Cents
e) Bei (11 Tage,199 km): 26000 Cents
f) Bei (13 Tage,150 km): 30000 Cents
g) Bei (14 Tage,150 km): 31800 Cents
h) Bei (20 Tage,250 km): 33000 Cents

Die Ergebnisse stimmen, habe ich auch so erhalten
 
hier ist mein Ergebnis zur Aufgabe 5.5 (Ausnahmen implementieren):

Für Feld 1:
final int REFERENZTAGE = 14;
final int REFERENZKILOMETER = 200;
// Werte in Cent
final int PAUSCHALENORMAL = 4000;
final int PAUSCHALEEXTRA = 30000;
final int TAGESSATZ = 2000;
final int KILOMETERSATZNORMAL = 15;
final int KILOMETERSATZEXTRA = 12;
long kosten;

// Behandlung der Ausnahmen
if (tage <= 0) {
throw new UngueltigeTagesanzahlAusnahme(tage);
}
if (km < 0) {
throw new UngueltigeKilometerangabeAusnahme(km);
}
// Mietdauer ist größer als 14 Tage
if (tage < REFERENZTAGE) {
kosten = (tage * TAGESSATZ) + PAUSCHALENORMAL;
// Gefahrene Kilometer ist größer als 200km
if(km > REFERENZKILOMETER) {
kosten = kosten + ((km - REFERENZKILOMETER)*KILOMETERSATZNORMAL);
}
}else {
kosten = PAUSCHALEEXTRA + (km * KILOMETERSATZEXTRA);
}
// Ausgabe des Ergebnisses
return kosten;
Für Feld 2:
class UngueltigeTagesanzahlAusnahme extends Exception{
public UngueltigeTagesanzahlAusnahme(int tage) {
System.out.println("Die Tagesangabe " + tage + " Tage ist nicht erlaubt");
}
}
Für Feld 3:
class UngueltigeKilometerangabeAusnahme extends Exception {
public UngueltigeKilometerangabeAusnahme(int km) {
System.out.println("Die Kilometerangabe " + km + " km ist nicht erlaubt");
}
}
 
Oben