Embora calcular uma raiz quadrada em Java não seja uma pergunta tão comum para entrevistas de desenvolvimento de software, às vezes, uma entrevista pode perguntar algo como: “ Você tem um número inteiro x. Crie um programa Java que calcule sua raiz quadrada”. Para garantir que uma pergunta tão básica não o pegue desprevenido, vamos dar uma olhada em como fazer a raiz quadrada em Java.

Quadrado e Raiz Quadrada: Revendo Conceitos Matemáticos

Para garantir que você não tenha confusão ao lidar com quadrados e raízes, vamos revisar a teoria desse conceito. Um quadrado de um número é esse número multiplicado por ele mesmo. Se n = 4, então n^2 = 4 4 = 16. A raiz quadrada de um número é o número que, se multiplicado por si mesmo, dá um determinado valor X. Por exemplo, você deve encontrar a raiz quadrada de n = 16, encontrando um número que, se elevado à potência de dois, dá 16, você resolverá o problema. No caso de n, a raiz quadrada do número 16 é 4 (já que 4 * 4 = 16).

Como fazer raiz quadrada em Java usando java.lang.Math.sqrt()

A maneira mais comum de encontrar a raiz quadrada de um número em Java é aplicando o java.lang.Math.sqrt()método. Aqui está a sintaxe geral do método java.lang.Math.sqrt():

public static double sqrt(double a)
No método, a é um valor elevado à potência de dois para o qual você deseja obter a raiz quadrada. Assim que um desenvolvedor aplicar java.lang.Math.sqrt(), o método retornará a raiz quadrada positiva de a (se a for maior que 0). Para argumentos negativos, java.lang.Math.sqrtretorna uma saída NaN.

Casos especiais de retornos java.lang.Math.sqrt()

Conforme mencionado acima, na maioria dos casos, o método retorna valores positivos. No entanto, existem alguns casos específicos que um desenvolvedor deve estar ciente ao criar um programa de localização de raiz.
  • Para argumentos com valores NaN ou negativos, o método retornará um resultado NaN.
  • Para argumentos que são positivos infinitamente, o método retornará um resultado infinitamente positivo.
  • Para argumentos que consistem em um zero positivo ou negativo, a raiz quadrada de a será igual a a.

Exemplo 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));
    }
         
}

Encontrando raízes quadradas em um problema prático de Java

Agora que você sabe como criar um programa que calcula raízes quadradas em Java, vamos ver como o conceito se encaixa em problemas práticos mais avançados. Por exemplo, um entrevistador pode pedir que você resolva uma equação quadrática. Vamos dar uma olhada em como lidar com esse problema. Problema: resolva uma equação quadrática onde a = 1, b = 5, c = 2. Solução:

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.");
            }

    }
}

Conclusão

Este foi um breve resumo sobre como encontrar a raiz quadrada de um número em Java. Para um iniciante em desenvolvimento de software, é uma boa ideia praticar diferentes cenários (a>0, a<0, a = 0) para obter uma compreensão sólida do conceito. Depois de entender os prós e contras do método java.lang.Math.sqrt, comece a aplicar o método em programas complexos, lidando com tarefas como resolver equações quadráticas.