CodeGym /Blog Java /Random-ES /Método Math.sqrt - Raíz cuadrada en Java
John Squirrels
Nivel 41
San Francisco

Método Math.sqrt - Raíz cuadrada en Java

Publicado en el grupo Random-ES
Aunque calcular una raíz cuadrada en Java no es una pregunta común para las entrevistas de desarrollo de software, a veces, una entrevista puede preguntarle algo como: “ Tienes un número entero x. Cree un programa en Java que calcule su raíz cuadrada”. Para asegurarnos de que una pregunta tan básica no lo tome con la guardia baja, echemos un vistazo a cómo hacer la raíz cuadrada en Java.

Cuadrado y raíz cuadrada: repaso de conceptos matemáticos

Para asegurarnos de que no te confundas al tratar con cuadrados y raíces, repasemos la teoría de este concepto. El cuadrado de un número es ese número multiplicado por sí mismo. Si n = 4, entonces n^2 = 4 4 = 16. La raíz cuadrada de un número es el número que, si se multiplica por sí mismo, da un valor dado X. Por ejemplo, tienes que encontrar la raíz cuadrada de n = 16, al encontrar un número que elevado a la potencia de dos dé 16, resolverás el problema. En el caso de n, la raíz cuadrada del número 16 es 4 (ya que 4 * 4 = 16).

Cómo hacer raíz cuadrada en Java usando java.lang.Math.sqrt()

La forma más común de encontrar la raíz cuadrada de un número en Java es aplicando el java.lang.Math.sqrt()método. Esta es la sintaxis general del método java.lang.Math.sqrt():
public static double sqrt(double a)
En el método, a es un valor elevado a la potencia de dos para el que desea obtener la raíz cuadrada. Una vez que un desarrollador aplica java.lang.Math.sqrt(), el método devolverá la raíz cuadrada positiva de a (si a es mayor que 0). Para argumentos negativos, java.lang.Math.sqrtdevuelve una salida NaN.

Casos especiales de devoluciones java.lang.Math.sqrt()

Como se mencionó anteriormente, en la mayoría de los casos, el método devuelve valores positivos. Sin embargo, hay algunos casos específicos que un desarrollador debe tener en cuenta al crear un programa de búsqueda de raíces.
  • Para los argumentos que tienen valores NaN o son negativos, el método devolverá un resultado NaN.
  • Para argumentos que son infinitamente positivos, el método devolverá un resultado infinitamente positivo.
  • Para argumentos que consisten en un cero positivo o negativo, la raíz cuadrada de a será igual a a.

Ejemplo de uso de java.lang.Math.sqrt()

package MyPackage;

public class SquareRoot2 {

    public static void main(String args[])
    {
        double a = 100;

        System.out.println(Math.sqrt(a));
        // For positive values, the output is the square root of x

        double b = -81.00;

        System.out.println(Math.sqrt(b));
        // For negative values as input, Output NaN

        double c = 0.0/0;
        // Input NaN, Output NaN

        System.out.println(Math.sqrt(c));

        double d = 1.0/0;
        // For inputs containing  positive infinity, Output positive infinity

        System.out.println(Math.sqrt(d));

        double e = 0.0;
        // Input positive Zero, Output positive zero

        System.out.println(Math.sqrt(e));
    }

}

Problema de práctica de encontrar raíces cuadradas en Java

Ahora que sabe cómo crear un programa que calcula raíces cuadradas en Java, echemos un vistazo a cómo encaja el concepto en problemas de práctica más avanzados. Por ejemplo, un entrevistador podría pedirte que resuelvas una ecuación cuadrática. Echemos un vistazo a cómo manejar este problema. Problema: resuelve una ecuación cuadrática donde a = 1, b = 5, c = 2. Solución:
import java.util.Scanner;
public class Exercise2 {


  public static void main(String[] Strings) {

        Scanner input = new Scanner(System.in);

            System.out.print("Input a: ");
            double a = input.nextDouble();
            System.out.print("Input b: ");
            double b = input.nextDouble();
            System.out.print("Input c: ");
            double c = input.nextDouble();

            double result = b * b - 4.0 * a * c;

            if (result > 0.0) {
                double r1 = (-b + Math.pow(result, 0.5)) / (2.0 * a);
                double r2 = (-b - Math.pow(result, 0.5)) / (2.0 * a);
                System.out.println("The roots are " + r1 + " and " + r2);
            } else if (result == 0.0) {
                double r1 = -b / (2.0 * a);
                System.out.println("The square root is " + r1);
            } else {
                System.out.println("There are no real square roots in the equation.");
            }

    }
}
Método Math.sqrt - Raíz cuadrada en Java - 2

Conclusión

Este fue un breve resumen sobre cómo encontrar la raíz cuadrada de un número en Java. Para un principiante en el desarrollo de software, es una buena idea practicar diferentes escenarios (a>0, a<0, a = 0) para obtener una comprensión sólida del concepto. Una vez que comprenda los entresijos del método java.lang.Math.sqrt, comience a aplicar el método en programas complejos, manejando tareas como resolver ecuaciones cuadráticas.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION