Hallo Leute,
ich habe zur Zeit ein Problem beim Programmieren mit Java.
Die Berechnung der Fakultät(double-werte) funktioniert wunderbar, doch ich habe keine Ahnung wie ich auf den Rechnenfehler komme um dann bei einer Größe des Wertes von 10^-6, eine Rückrechnung zu starten um dann den relativ/absoluten Fehlerwert zu berechnen.
Ein Hinweis wie ich auf den Rechnenfehler komme, der 10^-6 nicht übersteigen darf, würde mir das schon sehr helfen.
Hier die genaue Aufgabe meines Professors:
############################################################
Prüfen Sie in dieser Methode fakultaet(), ob ein Rechenfehler den Betrag < 10 -6 über-
schreitet und lösen Sie in diesem Fall die selbstdefinierte ResultErrorException mit
einer Fehlermeldung aus, die über die Art und Größe des Fehlers informiert. (->Absolutbetrag des
Fehlers und relativer Fehler bei der "Rückrechnung")
Geben Sie im Hauptprogramm diese entsprechende Fehlermeldung aus und ermöglichen Sie
wie schon zuvor ein Weiterrechnen mit dem letzten korrekten Ergebnis
############################################################
Mein Quellcode
ich habe zur Zeit ein Problem beim Programmieren mit Java.
Die Berechnung der Fakultät(double-werte) funktioniert wunderbar, doch ich habe keine Ahnung wie ich auf den Rechnenfehler komme um dann bei einer Größe des Wertes von 10^-6, eine Rückrechnung zu starten um dann den relativ/absoluten Fehlerwert zu berechnen.
Ein Hinweis wie ich auf den Rechnenfehler komme, der 10^-6 nicht übersteigen darf, würde mir das schon sehr helfen.
Hier die genaue Aufgabe meines Professors:
############################################################
Prüfen Sie in dieser Methode fakultaet(), ob ein Rechenfehler den Betrag < 10 -6 über-
schreitet und lösen Sie in diesem Fall die selbstdefinierte ResultErrorException mit
einer Fehlermeldung aus, die über die Art und Größe des Fehlers informiert. (->Absolutbetrag des
Fehlers und relativer Fehler bei der "Rückrechnung")
Geben Sie im Hauptprogramm diese entsprechende Fehlermeldung aus und ermöglichen Sie
wie schon zuvor ein Weiterrechnen mit dem letzten korrekten Ergebnis
############################################################
Mein Quellcode
Java:
static double fakultaet(double zahl) throws NotNaturalNumberException, ResultErrorException
{
double ergebnis_double=1;
if ((zahl >= 0) && (ganzZahl(zahl))) //Methode ganzZahl überprüft auf Ganzzahligkeit
{
for (double counter = 1; (counter <= zahl); counter++)
{
ergebnis_double = ergebnis_double * counter;
}
return ergebnis_double;
}
else
{
throw new NotNaturalNumberException();
}
}