public class RacineExc { private double precision; public RacineExc(double precision) { this.precision = precision; } public double racine(double operande) throws ExceptionValeurNegative { double solution, carre, a, b; if (operande < 0) throw new ExceptionValeurNegative(operande); a = 0; b = operande; solution = (a + b)/2; while(b - a > precision) { carre = solution * solution; if (carre > operande) b = solution; else a = solution; solution = (a + b) / 2; } return solution; } public double getPrecision() { return precision; } public void setPrecision(double precision) { this.precision = precision; } }