Methoden Fakultät und Fehlerwert berechnen

Podux

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

Dekker

Bekanntes Mitglied
Naja, den Fehler muss man eigentlich separat berechnen. Ich schätze mal ihr habt irgendwo eine Formel dafür bekommen (ich schätze mal das ist Teil einer Uniaufgabe?). Dann müsstest du dir ansehen wie man den Fehler für alle durchgeführten Operationen berechnet und aufsummiert. Ich erinner mich noch einmal die Fehlerfortpflanzung für die Subtraktion mittels Taylorreihenentwicklung gemacht zu haben. ABer frag mich nich mehr wie das ging, is ewig her...
 

Kevin94

Top Contributor
Wie wärs wenn du mit BigInteger das ganze einfach nochmal ausrechnest und dann den unterschied der beiden Werte ausrechnest. Wenn nicht der ganze Wertebereich eines doubles abgedeckt werden muss, kannst du auch mit long/int rechnen.
 

Podux

Mitglied
BigInteger dürfen wir leider nicht verwenden. Haben von unserer Prof auch keinerlei Hinweise dazu bekommen, wie man das Ganze berechnen könnnte :/

Es soll laut seiner Aufgabe die Fakultät berechnet werden. Bei hohen Werten treten bei der Rechnung Fehler auf. Sobald diese den Wert 10^-6 übersteigen, soll er das Ganze Rückwärtsrechnen und dann den dabei entstandenen Absolutenfehler/Relativenfehler ausgeben.
 

Dekker

Bekanntes Mitglied
Jetzt so im Nachhinein seh ich erst , dass das ganze ja double ist... Das macht die Aufgabe ne ganze Stufe einfacher.

Eigentlich musst du nach jedem Schritt einfach nur die Zahlen vor dem Komma entfernen und dann überprüfen, ob die nachkommastellen > 10^-6 sind....
 

Kevin94

Top Contributor
Die ganze sache ist sowie so ne Farse. double fast nur ca. 15 Stellen, d.h. zahlen über 10^15 können gar nicht genau genug angegeben werden, geschweige den auf 6 Nachkommastellen. 20! liegt schon weit über dem Fassungsvermögen eines doubles.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L mit Fakultät mathematische Formel berechnen Java Basics - Anfänger-Themen 5
K Fakultät Java Basics - Anfänger-Themen 5
B Java Array Fakultät Function Java Basics - Anfänger-Themen 5
K Rekursive Methode für Fakultät mit BigInteger Java Basics - Anfänger-Themen 10
I Datentypen Warum so nur Fakultät nur bis 8? Java Basics - Anfänger-Themen 5
K Fakultät Java Basics - Anfänger-Themen 16
C Erste Schritte Negative Zahlen als Fakultät ablehnen Java Basics - Anfänger-Themen 2
P Problem bei Fakultät mit "for"-Schleife Java Basics - Anfänger-Themen 12
M Fakultät berechnen Java Basics - Anfänger-Themen 2
A Fakultät probleme Java Basics - Anfänger-Themen 1
Z Schleifen Beispiel: Fakultät Java Basics - Anfänger-Themen 26
P Fakultät aus Zahl bilden Java Basics - Anfänger-Themen 5
K Fakultät zurückrechnen Java Basics - Anfänger-Themen 7
V Rekursion und Fakultät Java Basics - Anfänger-Themen 4
N Fakultät Java Basics - Anfänger-Themen 9
Fab1 Project Euler problem20 Fakultät von 100 Java Basics - Anfänger-Themen 13
S Erste Schritte Fakultät Quellcode Java Basics - Anfänger-Themen 12
L Fakultät Java Basics - Anfänger-Themen 2
G vielfache, fakultät und primzahltest Java Basics - Anfänger-Themen 35
M Fakultät Java Basics - Anfänger-Themen 13
J Fakultät- Programm programmieren Java Basics - Anfänger-Themen 10
W Fakultät, warum Endlosschleife? Java Basics - Anfänger-Themen 15
W Fakultät Java Basics - Anfänger-Themen 9
J Fakultät und Rekursion Java Basics - Anfänger-Themen 9
V Überlauf Fakultät Java Basics - Anfänger-Themen 4
L Fakultät Programm ! Java Basics - Anfänger-Themen 7
M Problem mit Berechnung der Fakultät Java Basics - Anfänger-Themen 3
B Berechnugn der Fakultät Java Basics - Anfänger-Themen 3
M Fakultät berechnen Java Basics - Anfänger-Themen 2
R Fakultät einer Zahl errechnen. Java Basics - Anfänger-Themen 7
M Brauche Hilfe mit Fakultät! Java Basics - Anfänger-Themen 16
N java befehl für fakultät Java Basics - Anfänger-Themen 4
M OOP Brüche nicht richtig berechnen Java Basics - Anfänger-Themen 3
V Durchschnittliche Volatility in Prozent für 4 Stunden berechnen Java Basics - Anfänger-Themen 14
T Fibonacci mit einer Hilfsmethode berechnen Java Basics - Anfänger-Themen 10
laxla123 Quersumme berechnen Java Basics - Anfänger-Themen 1
I For Schleife Summe berechnen Java Basics - Anfänger-Themen 13
S Vollmond berechnen und ausgeben Java Basics - Anfänger-Themen 12
S Vollkommene Zahl berechnen und ausgeben Java Basics - Anfänger-Themen 16
A Berechnen Moor Nachbarschaft Java Basics - Anfänger-Themen 5
E Geburtstag im Schaltjahr berechnen Java Basics - Anfänger-Themen 24
Lion.King Schaltjahr berechnen Java Basics - Anfänger-Themen 31
E Alter (Laufzeit) berechnen Java Basics - Anfänger-Themen 11
I Zuschläge berechnen Java Basics - Anfänger-Themen 15
TanTanIsTrying Durschnitt berechnen von eingegebener Zahl bis 1 heruntergezählt Java Basics - Anfänger-Themen 9
L Präfix berechnen Java Basics - Anfänger-Themen 33
F Abstand zwischen zwei Objekten berechnen wie? Java Basics - Anfänger-Themen 1
Aemulit Java Schaltjahr berechnen Code Java Basics - Anfänger-Themen 7
Poppigescorn Quersumme Berechnen mit einer While Schleife Java Basics - Anfänger-Themen 13
I Potenz berechnen mit for-Schleife Java Basics - Anfänger-Themen 3
A Standardabweichung in Java berechnen Java Basics - Anfänger-Themen 10
H Gesamtabweichung mit Array berechnen Java Basics - Anfänger-Themen 2
G Java Rabatt berechnen Java Basics - Anfänger-Themen 8
V Rückgeld berechnen Java Basics - Anfänger-Themen 6
eleonori Durchschnitt aller Werte eines Baums berechnen Java Basics - Anfänger-Themen 5
Ianatrix Zahlen von a bis b berechnen Java Basics - Anfänger-Themen 7
L Max, min, Summe und Durchschnitt berechnen Java Basics - Anfänger-Themen 4
L Anhalteweg berechnen Java Basics - Anfänger-Themen 6
Aeon Erste Schritte Preise berechnen mit do-while Java Basics - Anfänger-Themen 9
M Quadratwurzel berechnen Java Basics - Anfänger-Themen 8
V Wachstum berechnen und in Ist-Formel verwenden Java Basics - Anfänger-Themen 5
N Variable aus anderen Variablen in statischer Klasse berechnen/abspeichern? Java Basics - Anfänger-Themen 4
M Abschreibungsplan berechnen Java Basics - Anfänger-Themen 23
V Gehalt berechnen in Java Java Basics - Anfänger-Themen 6
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
L Anzahl der benachbarten Minen berechnen und setzen Java Basics - Anfänger-Themen 15
J Array Speicherplatz berechnen Java Basics - Anfänger-Themen 35
H Eingabedaten berechnen Java Basics - Anfänger-Themen 9
B Tranportkosten berechnen mit unterschiedlichen MwSt Java Basics - Anfänger-Themen 9
L Anzahl der Paare deren Summe = 0 ergibt berechnen Java Basics - Anfänger-Themen 0
V Erste Schritte Berechnen von Sinus; sin(x) ohne Math.* Java Basics - Anfänger-Themen 1
J Hilfe bei Java Aufgabe (Restschuld berechnen) Java Basics - Anfänger-Themen 11
N Ein Datum berechnen Java Basics - Anfänger-Themen 3
T Sparplan berechnen Java Basics - Anfänger-Themen 4
F Abstand zum Durchschnitt von 5 Zahlen berechnen... Java Basics - Anfänger-Themen 16
B java.util.Date berechnen Java Basics - Anfänger-Themen 11
P Mittelwert Arrayelemente berechnen Fehler Java Basics - Anfänger-Themen 5
CptK Best Practice Schussparabel berechnen Java Basics - Anfänger-Themen 3
T Modulo / Pow berechnen Java Basics - Anfänger-Themen 4
E Statistische Kennzahlen berechnen Java Basics - Anfänger-Themen 2
F Switch Case Modulo berechnen Java Basics - Anfänger-Themen 12
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
C Preis berechnen mit Java Java Basics - Anfänger-Themen 4
B Zahl in String abspeichern und später berechnen Java Basics - Anfänger-Themen 15
N Best Practice Image recognition fuzzy Superhash berechnen Java Basics - Anfänger-Themen 1
Dawinartor Erste Schritte Schaltjahr berechnen Java Basics - Anfänger-Themen 1
L Pi berechnen Java Basics - Anfänger-Themen 1
CptK Term (als String) berechnen und ausgeben Java Basics - Anfänger-Themen 10
L Den Winkel zwischen zwei Vektoren berechnen! Java Basics - Anfänger-Themen 2
J Variablen arithmetischen Mittelwert berechnen Java Basics - Anfänger-Themen 5
K Matrixen berechnen nach Worker Master Paradigma mit Threads Java Basics - Anfänger-Themen 4
R Winkel berechnen bzw. Geraden sortieren Java Basics - Anfänger-Themen 33
I Schnittpunkt zweier Geraden berechnen Java Basics - Anfänger-Themen 25
M Erste Schritte Mittelwert berechnen -> Methode in der Methode? Java Basics - Anfänger-Themen 14
S Compiler-Fehler Schaltjahr berechnen Java Basics - Anfänger-Themen 5
B Fakultätsfunktion Rekursiv Berechnen aber mit Array Java Basics - Anfänger-Themen 10
S Durchschnitt berechnen aus zwei Textfeldern Java Basics - Anfänger-Themen 21
D Summe berechnen mit verändertem Wert aus Schleife Java Basics - Anfänger-Themen 1
R Liga Berechnen Java Basics - Anfänger-Themen 1
P Klassen Berechnen mehrerer Map-Werte Java Basics - Anfänger-Themen 13

Ähnliche Java Themen

Neue Themen


Oben