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;
|
||
|
}
|
||
|
}
|