Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ue11;
- public class SquareRoot {
- public static double wurzel(int zahl, double genau) {
- double x = zahl; //Zahl die verändert wird
- double a = zahl; //Ausgangszahl
- double Diff; //Differenz
- int count = 0; //zählt wie oft die Formel durchgangen werden muss bis Diff kleiner genauigkeit ist
- int durchlauf = 0; //Durchlauf, wie oft sich die Genauigkeit geändert hat
- do{
- Diff = (x * x - a);
- if (Diff < genau){
- if (durchlauf == 3){
- genau = 0.0000001;
- durchlauf += 1;
- }
- else{
- genau = 0.0001;
- durchlauf += 1;
- }
- if (durchlauf != 4){
- String ergebnis = String.format("%.6f", x);
- System.out.printf("%4s ",ergebnis);
- System.out.printf("(%1d) | ",count);
- count = 0;
- }
- }
- x = (x + a / x) / 2;
- count += 1;
- }while(genau != 0.0000001);
- return x;
- }
- public static void main(String[] args) {
- double genauigkeit = 0.01;
- int zahl = 1;
- while (zahl <= 20){
- System.out.printf("%4d: ",zahl);
- double ergebnis = SquareRoot.wurzel(zahl,genauigkeit);
- System.out.println("");
- zahl += 1;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement