![]() |
|
|||||||
| Java Basics - Anfänger-Themen Fragen ausschließlich zu Java-Grundlagen von Ein- und Umsteigern |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |||
|
Benutzer
int
Registriert seit: 15.08.2011
Fachbeiträge: 42
Abgegebene Danke: 20
Erhielt 0 Danke für 0 Beiträge
|
Hallo,
habe hier folgende Aufgabenstellung (siehe Bild Anhang). Mit der Folgenden Musterlösung. Was ich hier nicht verstehe ist wieso Math.abs angewendet wird. Mir ist aber klar das Math.abs für die Erzeugung des Betrags genutzt wird. Jedoch verstehe ich nicht wieso man die negativen Zahlen ins Positive umwandeln muss um die Toleranz zu kontrollieren. Wenn die Berechnung eine negative Zahl Berechnet ist die Zahl doch schon zu weit von der Toleranz entfernt ? oder vertue ich mich da. Zudem hatte ich die Frage anfangs anders Versandten. Ich habe die Toleranz zu PI kontrollieren lassen und nicht zu PI/4.0. Versteht einer die Aufgabe auch so oder liegt es jetzt an meinem Verständnis der Textaufgabe.
|
||
|
|
|
| #2 (permalink) | |
|
Stammbenutzer
Halbes Megabyte
Registriert seit: 17.11.2010
Fachbeiträge: 608
Abgegebene Danke: 4
Erhielt 137 Danke für 135 Beiträge
|
In der Aufgabe steht, die Reihe konvergiert gegen PI/4, also macht es Sinn mit diesem Wert zu vergleichen. Mathematisch macht es keinen Unterschied, beim nutzten von Floting-Points wäre aber tatsächlich der Vergleich von 4*result und PI genauer, der Unterschied wird sich allerdings erst in den letzten beiden Stellen bemerkbar machen (wenn überhaupt), ist also nicht notwendig.
Zu Math.abs(): Das wird verwendet, weil der berechnete Wert für sowohl um epsilon über als auch unter PI liegen darf, ohne dürfte der Wert nur um epsilon größer sein als PI, aber nicht kleiner. |
|
|
|
| Danke sagt: |
jaykop (10.09.2012)
|
| #3 (permalink) | |
|
Benutzer
int
Themenstarter
Registriert seit: 15.08.2011
Fachbeiträge: 42
Abgegebene Danke: 20
Erhielt 0 Danke für 0 Beiträge
|
Danke für die Antwort.
Also werden somit die Werte unter PI/4 = 0.7853... und über diesen werten Berücksichtig. Was ich noch nicht verstanden habe ist. Wieso man Math.abs() besonders bei Fließkommazahl anwenden soll wenn man nach einem Wert im Toleranzbereich sucht. Weis einer ne Vernünftige Erklärung dazu ? |
|
|
|
| #4 (permalink) | |
|
Benutzer
int
Themenstarter
Registriert seit: 15.08.2011
Fachbeiträge: 42
Abgegebene Danke: 20
Erhielt 0 Danke für 0 Beiträge
|
Beim weiteren testen ist mir jetzt aufgefallen das beim Rückgabewert
return result*4.0; der Wert beim zurückgeben nicht mir 4.0 Multipliziert wird. Da stelle ich mir die Frage wieso man es dennoch so hingeschrieben hat. Weiss einer ne Antwort dazu ? |
|
|
|
| #5 (permalink) | |
|
Stammbenutzer
Viertel Megabyte
Registriert seit: 22.06.2011
Fachbeiträge: 292
Abgegebene Danke: 33
Erhielt 87 Danke für 86 Beiträge
|
Abschnitt A: Typische Fehler im Umgang mit Gleitkommazahlen, seltsame und scheinbar falsche Ergebnisse
Frage A.2: Obwohl zwei Zahlen gleich sein müssten, sind sie es nicht. Wie vergleiche ich Gleitkommazahlen richtig? => Ungenauigkeit von double und float: Gleitkommazahlen und Alternativen Deinen letzen Beitrag versteh ich nicht, result*4.0 mutipliziert tatsächlich result mit 4 |
|
|
|
| Danke sagt: |
jaykop (11.09.2012)
|
| #6 (permalink) | |||
|
Benutzer
int
Themenstarter
Registriert seit: 15.08.2011
Fachbeiträge: 42
Abgegebene Danke: 20
Erhielt 0 Danke für 0 Beiträge
|
Die Antwort zu der Frage mit return result*4.0; habe ich eben selber herausgefunden.
Es macht einen großren unterschied ob man die Methode nur als aufruft oder dies mit System.out.println(); aufruft.
Bei der ersten Variante bekomme ich nur die System.out.println(); Werte aus der while Schleife in der Methode zu Gesicht und bei der zweiten zusätzlich auch den tatsächlichen Rückgabewert der Methode. |
||
|
|
|
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Frage zu einem Einstiegsgehalt für einen Wirtschaftsinformatiker | DennisXX | Plauderecke | 25 | 31.08.2011 19:25 |
| SQL Inner Join - On Klausel | kossy | Datenbankprogrammierung | 10 | 03.08.2011 13:36 |
| frage zu vererbung (super) | Java Basics - Anfänger-Themen | 10 | 06.07.2009 17:44 | |
| Frage zu Memory Leak, Garbage Collection und Profiler-Tools | -frank | Allgemeine Java-Themen | 6 | 18.10.2007 16:56 |
| Lesezeichen |
|
|