1
definir un método para calcular la raíz cuadrada . Usted debe dar el método un nombre descriptivo que refleja su función. Asegúrese de que todos los elementos necesarios de un método están presentes, a saber, su tipo de devolución , nombre, encerrando entre paréntesis para los argumentos del método y de la declaración del cuerpo entre llaves. Por ejemplo , un método apropiado para obtener la raíz cuadrada de un número es :
pública BigDecimal get ( BigDecimal n ) { }
2
completa del código del cuerpo del método por escrito un algoritmo para calcular la aproximación de la raíz cuadrada de un número . Usted puede utilizar el método de iteración de Newton para formar la base matemática del cálculo. En este método , se puede calcular la raíz cuadrada de un número mediante la resolución de varias veces la ecuación recurrente xk + 1 = 1/2 ( xk + n /xk ) hasta que el valor de aproximación se acerca al valor real de la raíz cuadrada. Por ejemplo , el siguiente es un segmento de código en Java que realiza este cálculo :
iteraciones = 0 ;
más booleano = true ;
mientras que ( más ) {
lastGuess = adivinar ;
adivinar = n.divide ( conjetura , escala, BigDecimal.ROUND_HALF_UP ) ;
adivinar = guess.add ( lastGuess ) ;
supongo = guess.divide ( DOS , escala, BigDecimal.ROUND_HALF_UP ) ;
trace ( "Next conjetura " + guess.toString ());
error
= n.subtract ( guess.multiply ( conjetura ));
si (+ + iteraciones > = maxIterations ) {
más = false; }
else if ( lastGuess. iguales ( conjetura )) {
más error.abs = () compareTo (ONE ) > = 0 , .
}
}
regreso conjetura ;
3
definir otros métodos de apoyo al método de búsqueda de la raíz cuadrada principal, siempre que sea necesario . Usted puede encontrar que necesita para definir los métodos para calcular el valor inicial de aproximación , se calcula el error y establecer el número de iteraciones. Por ejemplo , el código siguiente se busca el valor de aproximación inicial que se utilizará en el cálculo principal :
privado getInitialApproximation BigDecimal estática ( BigDecimal n ) {
BigInteger integerPart = n.toBigInteger (); < . br>
int longitud = integerPart.toString () length () ;
if ( (longitud % 2 ) == 0 ) {
longitud
- ;
< p >}
longitud /= 2 ;
BigDecimal conjetura = ONE.movePointRight ( longitud);
conjetura return; }
4
prueba su método de raíz cuadrada llamándolo e imprimir el resultado en la pantalla. Por ejemplo :
System.out.println ( " Cálculo de la raíz cuadrada de ");
sqrt = app.get (n ) ;