Hey Wischer! Probier mal das hier:
public class sqrt{
public static void main(String[] args){
// Die Variablen deklarieren
double wert=Double.parseDouble(args[0]);
double epsilon = 0.00000000000001; // Wenn immer ich hier 1e-15 geschrieben habe, kam immer bei Wurzel 4 1.99999999999998 oä raus
double step = 10;
double wurzel = 0;
if(wert >= 0){
// Ausführen, solange die Bedingung erfüllt ist
while(Math.abs(wurzel\*wurzel-wert)>epsilon){
step = step/10;
while(wert>wurzel\*wurzel){
wurzel = wurzel+step;
//System.out.println(wurzel);
}
if(Math.abs(wurzel\*wurzel-wert)>epsilon){
wurzel = wurzel-step;
}
//System.out.println(" "+step);
}
// Wurzel "ausdrucken"
System.out.println(wurzel);
}
else{
System.out.println("Negative Werte sind ungültig!");
}
}
}
Wenn das nicht klappt kannst du auch mal mit break ran!
Mfg Kieselnator