Tecnología

Inicio

Cómo hacer una función de raíz cuadrada en Java

Cómo hacer una función de raíz cuadrada en Java


Para encontrar la raíz cuadrada de un número, es necesario encontrar la operación inversa de la multiplicación de un número por sí mismo. Mientras que el lenguaje de programación Java proporciona una "Math.sqrt) (" función incorporada para calcular la raíz cuadrada de cualquier número, que sólo acepta una de coma flotante de doble tipo de datos de valor. Sin embargo, es posible que encuentre que necesita para encontrar la raíz cuadrada de un número en un tipo de datos diferente. Para este propósito, se puede construir una función personalizada para calcular el valor de la raíz cuadrada de forma manual.

Instrucciones

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 retorno, nombre, encerrando entre paréntesis para obtener los argumentos del método y la declaración cuerpo entre llaves. Por ejemplo, un método adecuado para obtener la raíz cuadrada de un número es:

pública BigDecimal obtener (BigDecimal n) {}

2 Completar el código cuerpo del método escribiendo un algoritmo para calcular la aproximación de la raíz cuadrada de un número. Usted puede utilizar el método de la 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 la ecuación recurrente en varias ocasiones 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:

iterations = 0;

boolean más = true;

mientras que (más) {

lastGuess = conjetura;

adivinar = n.divide (conjetura, escala, BigDecimal.ROUND_HALF_UP);

adivinar = guess.add (lastGuess);

adivinar = guess.divide (DOS, escala, BigDecimal.ROUND_HALF_UP);

trace ( "Siguiente conjetura" + guess.toString ());

error = n.subtract (guess.multiply (supongo));

si (++ iteraciones> = maxIterations) {

más = false;

}

else if (lastGuess.equals (conjetura)) {

más = error.abs () .compareTo (ONE)> = 0;

}

}

conjetura de regreso;

3 Definir otros métodos de apoyo a la principal método de raíz cuadrada hallazgo, siempre que sea necesario. Puede que encuentre que necesita para definir métodos para encontrar el valor inicial de aproximación, el cálculo de error y establecer el número de iteraciones. Por ejemplo, el código siguiente encuentra que el valor aproximación inicial para ser utilizado en el cálculo principal:

estática privada BigDecimal getInitialApproximation (BigDecimal n) {

BigInteger integerPart = n.toBigInteger ();

int length = integerPart.toString () .length ();

if ((longitud% 2) == 0) {

longitud--;

}

longitud / = 2;

BIGDECIMAL adivinar = ONE.movePointRight (longitud);

conjetura de regreso;

}

4 Ponga a prueba su método de la 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);