25 lines
496 B
Java
25 lines
496 B
Java
/**
|
|
* RootApproximator
|
|
*/
|
|
public class RootApproximator {
|
|
private double x = 1;
|
|
private double previousx = 0;
|
|
private double a;
|
|
final private double EPSILON;
|
|
|
|
public RootApproximator(double a, double EPSILON) {
|
|
this.a = a;
|
|
this.EPSILON = EPSILON;
|
|
}
|
|
|
|
public double nextGuess() {
|
|
previousx = x;
|
|
x = (x + (a/x))/2;
|
|
return x;
|
|
}
|
|
|
|
public boolean hasMoreGuesses() {
|
|
return Math.abs(x - previousx) > EPSILON;
|
|
}
|
|
}
|