• Wir präsentieren Dir heute ein Stellenangebot für einen Java Entwickler - m/w/d in Augsburg, München, Stuttgart oder Bamberg. Hier geht es zur Jobanzeige

Quadratwurzel berechnen

M

mato37

Mitglied
SqrtAprox:
package sqrtAp;

public class sqrtAp {

    public static void main(String[] args) {
        double a = 25;
        double x = a / 2;

        for (int i = 0; i < 5; i++) {
            x = (x + (a / x)) / 2;
            System.out.println(x);
        }
    }
}

Moin,

oben angezeigter Code gefällt mir eigentlich ganz gut,
jedoch würde ich noch gerne eine Abbruchbedingung einbringen.
Die Lautet wie folgt:

Die Methode soll iterieren, bis zwei aufeinanderfolgende Loesungsvorschlaege sich um weniger als 0.0001 unterscheiden.

ich bedanke mich fuer euer feedback

VG Malte

ps: ist auch keine bewertete Aufgabe
 
H

httpdigest

Top Contributor
Die Methode soll iterieren, bis zwei aufeinanderfolgende Loesungsvorschlaege sich um weniger als 0.0001 unterscheiden.
ich bedanke mich fuer euer feedback
Du hast unser (zumindest mein) Einverständnis, das auch zu tun/realisieren/implementieren. :)

Wenn du ein Problem hast, bzw. irgendwo nicht weiterkommst, solltest du auch sagen, wo genau du ein Problem hast, bzw. wo du nicht weiterkommst und was du bereits probiert hast.
 
M

mato37

Mitglied
Konkret bin ich daran gescheitert einen Weg zu finden, der mir es ermoeglicht die Differenz von 0.0001 festzustellen
 
H

httpdigest

Top Contributor
Naja, wie berechnet man denn die (absolute) Differenz von zwei Werten? Und wie vergleicht man, ob diese berechnete Differenz kleiner als eine gegebene Konstante ist?
 
M

mato37

Mitglied
Mein letzter Versuch:
Java:
package sqrtAp;

public class sqrtAp {

    public static void main(String[] args) {
        double a = 25;
        double x = a / 2;
        double xa = x;
        double d;

        for (int i = 0; d <= 0.0001; i++) {
            x = (x + (a / x)) / 2;
            System.out.println(x);
            x - xa = d;
        }
    }
}
 
H

httpdigest

Top Contributor
Java:
x - xa = d;
Variablen, denen ein Wert zugewiesen werden soll, müssen nach wie vor (wie auch bei der Zuweisung von 'x' weiter oben bei dir) auf der linken Seite des Gleichheitszeichens stehen. Das Gleichheitszeichen ist quasi kein "mathematisches Gleichsetzen" zweier Ausdrücke, sondern eine Zuweisung/Schreiben der Variablen auf der linken Seite.
 
M

mato37

Mitglied
Habe es mit ein bisschen ausprobieren hinbekommen.

Java:
package sqrtAp;

public class sqrtAp {

    public static void main(String[] args) {
        double a = 36;
        double x = a / 2;
        double xn;
        double d;


        for (int i = 0; i<= 15 ; i++) {
            xn = (x + (a / x)) / 2;
            System.out.println(x);
            d = x - xn;
            System.out.println("d: " + d);
            x = xn;
            System.out.println(x);
            if(d<=0.0001)
                break;
        }
    }
}
 
kneitzel

kneitzel

Top Contributor
Das ist erst einmal super!

Einfach noch zwei kleine Ideen für Dich:

Benötigst Du den Zähler i? Und den Abbruch nach 16 Durchläufen?
(Sprich: War das eine zusätzliche Abbruchbedingung oder soll das die einzige Abbruchbedingung sein?)
Wenn Du das nicht brauchst, dann könnte man das mit der Zählschleife (for) ja weglassen und statt dessen eine do while Schleife nutzen:

Java:
        do {
            xn = (x + (a / x)) / 2;
            System.out.println(x);
            d = x - xn;
            System.out.println("d: " + d);
            x = xn;
            System.out.println(x);
        } while (d > 0.0001)



Oder:
Falls du den Abbruch nach 16 Durchläufen brauchst, dann könnte man d auf einen höheren Wert setzen und das noch mit in die Bedingung nehmen:

Java:
        double d=1.0;

        for (int i = 0; i<= 15 && d > 0.0001 ; i++) {
            xn = (x + (a / x)) / 2;
            System.out.println(x);
            d = x - xn;
            System.out.println("d: " + d);
            x = xn;
            System.out.println(x);
        }
    }

Man kann aber geteilter Meinung sein, ob dies gegenüber Deiner Variante zu bevorzugen ist. Ich selbst bin kein Freund davon, die typische Zählschleife mit irgend was anderem zu verwenden...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Problem beim Berechnen der Quadratwurzel Java Basics - Anfänger-Themen 3
TimoN11 Quadratwurzel mittels Funktionswert der Quadratfunktion Java Basics - Anfänger-Themen 9
TimoN11 Quadratwurzel Genauigkeit Java Basics - Anfänger-Themen 6
T Methoden Quadratwurzel - Kriterium für genaues Ergebnis Java Basics - Anfänger-Themen 2
B Quadratwurzel nach Heron in rekursiver Darstellung Java Basics - Anfänger-Themen 1
Luk10 Auf Quadratwurzel prüfen 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
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
UnknownInnocent 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
UnknownInnocent 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
R Fussballtabellen berechnen Java Basics - Anfänger-Themen 12
J Fibonacci -Folge rekursiv berechnen Java Basics - Anfänger-Themen 18
J Durchschnitt jeder Zeile und und Spalte in einem 2D Arrays berechnen Java Basics - Anfänger-Themen 6
F ISBN Prüfziffer berechnen Java Basics - Anfänger-Themen 17
F Die Teilersumme einer Eingabe berechnen Java Basics - Anfänger-Themen 11
S Negafibonacci Folge berechnen Java Basics - Anfänger-Themen 24
G Array Mittelwert berechnen, wie? Java Basics - Anfänger-Themen 8
S Primzahlen berechnen funktioniert nicht richtig Java Basics - Anfänger-Themen 1
N Mit LocalDate alter berechnen Java Basics - Anfänger-Themen 3
J Laufzeit berechnen/Laufzeitanalyse Java Basics - Anfänger-Themen 2
N Arrays mit Zufallzahlen füllen und Statistiken berechnen Java Basics - Anfänger-Themen 5
A Wochentag berechnen Java Basics - Anfänger-Themen 10
Ste3et_C0st Vectoren berechnen Java Basics - Anfänger-Themen 8
L Durchschnitt in der Schleife berechnen Java Basics - Anfänger-Themen 11
A Kreisumfang/-Fläche vom Kreis berechnen Java Basics - Anfänger-Themen 39
L Wochentag berechnen Java Basics - Anfänger-Themen 5
L Rekursive Methode a * b berechnen Java Basics - Anfänger-Themen 2
B OOP Summe aus verschiedenen Instanzen einer Klasse berechnen Java Basics - Anfänger-Themen 2
N Dauer zwischen zwei LocalDateTime Objekten berechnen? Java Basics - Anfänger-Themen 4
P Ausdrücke berechnen Java Basics - Anfänger-Themen 2
V Mittelwert berechnen Java Basics - Anfänger-Themen 31
H Datentypen Tage zwischen zwei Datums berechnen Java Basics - Anfänger-Themen 4
P Quadrate berechnen Java Basics - Anfänger-Themen 3
S OOP Datumsunterschied in Tagen berechnen Java Basics - Anfänger-Themen 3
M Methoden Aus Timestamp das Datum berechnen Java Basics - Anfänger-Themen 3
B Schaltjahre berechnen! Java Basics - Anfänger-Themen 1
A werte in einem String berechnen Java Basics - Anfänger-Themen 3
F Checksummen aus int-Array berechnen Java Basics - Anfänger-Themen 3
F Toto-Tipp-Reihen berechnen Java Basics - Anfänger-Themen 1
N Threads Exception in thread "main"... Feher bei dem Versuch ein Radius zu berechnen Java Basics - Anfänger-Themen 4
R Quersumme berechnen - Methodenproblem Java Basics - Anfänger-Themen 1
S Button "Berechnen" geht nicht Java Basics - Anfänger-Themen 3
M Fakultät berechnen Java Basics - Anfänger-Themen 2
R Palindrom eines int-Arrays berechnen Java Basics - Anfänger-Themen 14
N Zeit berechnen, die für eine Strecke benötigt wird Java Basics - Anfänger-Themen 3
hello_autumn Maximum berechnen. Java Basics - Anfänger-Themen 17
hello_autumn Potenz selber berechnen, Rekursiv. Java Basics - Anfänger-Themen 6
H pi näherungsweise berechnen - Wallis Produkt Java Basics - Anfänger-Themen 9
E Eulersche Zahl berechnen, Endlosschleife Java Basics - Anfänger-Themen 2
D Folgestände berechnen Java Basics - Anfänger-Themen 6
I Höchste Zahl berechnen die eine Eingabe ohne Rest teilt und eine Primzahl ist Java Basics - Anfänger-Themen 2
B Restzeit berechnen (Kopiervorgang) Java Basics - Anfänger-Themen 7
S Kleines Zeichen berechnen Java Basics - Anfänger-Themen 5
F Datum Differenz berechnen Java Basics - Anfänger-Themen 7
J Erste Schritte Zeitstempeldifferenz berechnen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Anzeige

Neue Themen


Oben