CodeGym /Java Blog /Random-IT /Metodo Math.sqrt - Radice quadrata in Java
John Squirrels
Livello 41
San Francisco

Metodo Math.sqrt - Radice quadrata in Java

Pubblicato nel gruppo Random-IT
Sebbene il calcolo di una radice quadrata in Java non sia una domanda così comune per i colloqui di sviluppo software, a volte, un colloquio potrebbe chiederti qualcosa del tipo: “ Hai un numero intero x. Creare un programma Java che calcoli la sua radice quadrata”. Per assicurarci che una domanda così semplice non ti colga alla sprovvista, diamo un'occhiata a come eseguire la radice quadrata in Java.

Quadrato e radice quadrata: revisione dei concetti matematici

Per assicurarti di non avere confusione quando hai a che fare con quadrati e radici, rivediamo la teoria di questo concetto. Un quadrato di un numero è quel numero moltiplicato per se stesso. Se n = 4, allora n^2 = 4 4 = 16. La radice quadrata di un numero è il numero che, moltiplicato per se stesso, dà un dato valore X. Ad esempio, devi trovare la radice quadrata di n = 16, trovando un numero che, elevato alla potenza di due, dia 16, risolverai il problema. Nel caso di n, la radice quadrata del numero 16 è 4 (poiché 4 * 4 = 16).

Come eseguire la radice quadrata in Java utilizzando java.lang.Math.sqrt()

Il modo più comune per trovare una radice quadrata di un numero in Java è applicare il java.lang.Math.sqrt()metodo. Ecco la sintassi generale del metodo java.lang.Math.sqrt():

public static double sqrt(double a)
Nel metodo, a è un valore elevato alla potenza di due per il quale vuoi ottenere la radice quadrata. Quando uno sviluppatore applica java.lang.Math.sqrt(), il metodo restituirà la radice quadrata positiva di a (se a è maggiore di 0). Per argomenti negativi, java.lang.Math.sqrtrestituisce un output NaN.

Casi speciali di java.lang.Math.sqrt() restituisce

Come accennato in precedenza, nella maggior parte dei casi il metodo restituisce valori positivi. Tuttavia, ci sono alcuni casi specifici di cui uno sviluppatore dovrebbe essere a conoscenza quando crea un programma di ricerca root.
  • Per gli argomenti che hanno valori NaN o sono negativi, il metodo restituirà un risultato NaN.
  • Per argomenti infinitamente positivi, il metodo restituirà un risultato infinitamente positivo.
  • Per argomenti costituiti da uno zero positivo o negativo, la radice quadrata di a sarà uguale a a.

Esempio di utilizzo di 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));
    }
         
}

Trovare le radici quadrate nel problema pratico di Java

Ora che sai come creare un programma che calcola le radici quadrate in Java, diamo un'occhiata a come il concetto si inserisce in problemi pratici più avanzati. Ad esempio, un intervistatore potrebbe chiederti di risolvere un'equazione quadratica. Diamo un'occhiata a come gestire un problema del genere. Problema: risolvere un'equazione quadratica dove a = 1, b = 5, c = 2. Soluzione:

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

    }
}

Conclusione

Questa è stata una breve carrellata su come trovare una radice quadrata di un numero in Java. Per un principiante dello sviluppo software, è una buona idea esercitarsi in diversi scenari (a>0, a<0, a = 0) per ottenere una solida comprensione del concetto. Una volta compresi i dettagli del metodo java.lang.Math.sqrt, inizia ad applicare il metodo in programmi complessi, gestendo attività come la risoluzione di equazioni quadratiche.
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION