8.5. CalcSave

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

8.5. CalcSave
Hey,
Soll nur eine NoExactIntegerArithmetikException geworfen werden, wenn eine ganze Zeile ungenau ist? D.h. muessen wir bei

 z = Math.round(Math.sqrt(z));

eine Exception werfen?
Weil so gesehen ist die Zeile immer eine Ganzzahl, nur die Wurzel selbst eben nicht.

E: Koennte es sein, dass die Exceptions beim kompilieren von CalcSave fehlen? Selbst wenn ich direkt das Muster runterlade und einfach nur ein if(true) throw… einbaue, erscheind der Totenkopf. (Und ja es kompiliert lokal und auch auf faui00a)


Die Zeile soll wie in der vorherigen Aufgabe betrachtet werden. Wenn die Wurzel (bei genauer Berechnung) eine Ganzzahl ist, soll die Berechnung als genau, sonst als ungenau betrachtet werden.

Ja, da wurde gestern ein Fehler im EST behoben.

Frage zur 8.5c)
Im Aufgabentext steht ja:

Soll man eine Exception werfen, wenn kein Ergebnis ohne Exception berechnet werden kann, oder kann man davon ausgehen, dass sowas nicht passiert ?


Schau dir mal an, was in calcA passiert, wenn ein leeres Array uebergeben wird…


Was ist bei Aufgabe 8.5 b) mit [quote]
…, wenn die NoExactIntegerArithmetikException Ausnahme geworfen
wird, soll calcVSave -2 zurückgeben werden.
[/quote]
genau gemeint? Einfach die Methode calcVSave(Parameter) - 2 aufrufen?

Außerdem muss die Methode immer ein int zurückgeben. Nun reicht es ja nicht, einfach nur die Exceptions per try und catch abzufangen. Was genau fehlt noch?



Ok Danke, so hab ichs auch gemacht. Das andere hat für mich jetzt auch nicht so sinn gemacht :nuts:


Was soll denn bei der Ausführung passieren, wenn ich alles richtig gemacht habe?


Nichts.

Und genau das ist bei mir auch der Fall, allerdings bekomme ich trotzdem im EST ein Ausrufezeichen angezeigt.
Umlaute hab ich nicht verwendet und in einem package ist es auch nicht. Jemand eine Idee?

Edit: Hat sich erledigt.


also bei mir zeigst auch nichts an beim test. allerdings auch nicht wenn ich z.b. (20,16) mit (40,16) vergleich, weil man ja wegen den rundungsfehlern wieder aufs selbe ergebnis kommt. vielleicht kann es also sein, dass bei deinen ergebnissen trotzdem was nicht stimmt obwohl nichts angezeigt wird ?