正数の平方根を計算するためのバビロニア アルゴリズムを作成しています。反復は、推測が前の推測の 1% 以内になるまで続行する必要があります。私が書いたコードは、エラーが 1% になる前の反復を取得します。もう1回反復するようにするにはどうすればよいですか? 質問をまっすぐにするために、エラーが <1% になるまで繰り返す方法はありますか?
import java.util.Scanner;
public class sqrt {
public static void main(String[] args){
Scanner kb = new Scanner(System.in);
System.out.print("\nplease enter the desired positive number in order to find its root of two: ");
double num = kb.nextDouble();
double guess=0;
double r, g1, error;
if (num>=0){
guess = num/2;
do{
r = num/guess;
g1 = guess;
guess = (guess+r)/2;
error = (guess-g1)/guess;
if (error<0){
error = -error;
}
}
while(error>0.01);
System.out.println("The square root of the number " + num +" is equal to " +guess);
} else {
System.out.println("Sorry the number that you entered is not a positive number, and it does not have a root of two");
}
}
}