WinFuture-Forum.de: Java / Fakultät berechnen und Fehlerwert ausgeben - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Java / Fakultät berechnen und Fehlerwert ausgeben


#1 _Webster87_

  • Gruppe: Gäste

geschrieben 17. November 2011 - 22:03

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 den, bei hohen Werten auftreten Rechenfehler,berechne.

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
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();
        }       
    }


0

Anzeige



#2 Mitglied ist offline   Ludacris 

  • Gruppe: Moderation
  • Beiträge: 4.668
  • Beigetreten: 28. Mai 06
  • Reputation: 218
  • Geschlecht:Männlich

geschrieben 17. November 2011 - 22:42

Deine Berechnung ist wenn ich mich jetzt nicht irre falsch... 5! ist doch 5*4*3*2*1 oder? (ist zwar nur ein plastischer Fehler da das selbe Ergebnis heraus kommt aber ich würde das "richtig" lösen

for (double counter = zahl; counter > 0; counter --)
{
   ergebnis_double = ergebnis_double*counter;
}



Zur fehlerberechnung kann ich dir weiter nicht weiterhelfen :(
0

#3 Mitglied ist offline   Octus83 

  • Gruppe: Mitglieder
  • Beiträge: 1
  • Beigetreten: 19. November 11
  • Reputation: 0

geschrieben 19. November 2011 - 08:41

Übungsaufgabe 6-2 Prof. Exner FH Flensburg!
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0