Cargo actual:Index > Cómo hacer una función de raíz cuadrada en Java

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

Actualizado:11-05Fuente: consolidación de la red
Advertisement

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. Si bien el lenguaje de programación Java proporciona una "Math.sqrt ()" función incorporada para calcular la raíz cuadrada de cualquier número, acepta solamente un punto flotante de doble valor de tipo de datos. 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

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 argumentos del método y la declaración 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) {}

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 Newton iteración para formar la base matemática del cálculo. En este método, se puede calcular la raíz cuadrada de un número resolviendo repetidamente 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:

iterations = 0;

boolean more = true;

while (more) {

lastGuess = guess;

guess = n.divide(guess, scale, BigDecimal.ROUND_HALF_UP);

guess = guess.add(lastGuess);

guess = guess.divide (TWO, scale, BigDecimal.ROUND_HALF_UP);

trace ("Next guess " + guess.toString ());

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

if (++iterations >= maxIterations) {

more = false;

}

else if (lastGuess.equals (guess)) {

more = error.abs ().compareTo (ONE) >= 0;

}

}

return guess;

Definir otros métodos de apoyo a la principal método de raíz cuadrada hallazgo, siempre que sea necesario. Usted puede encontrar que necesita para definir los métodos para encontrar el valor inicial de aproximación, calcule el 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:

private static BigDecimal getInitialApproximation (BigDecimal n) {

BigInteger integerPart = n.toBigInteger ();

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

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

length--;

}

length /= 2;

BigDecimal guess = ONE.movePointRight (length);

return guess;

}

Pon a prueba tu 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);