CodeGym /Java blog /Tilfældig /Math.sqrt metode - kvadratrod i Java
John Squirrels
Niveau
San Francisco

Math.sqrt metode - kvadratrod i Java

Udgivet i gruppen
Selvom beregning af en kvadratrod i Java ikke er så almindeligt et spørgsmål til softwareudviklingsinterviews, kan et interview nogle gange spørge dig noget som: " Du har et heltal x. Opret et Java-program, der ville beregne sin kvadratrod”. For at være sikker på, at et sådant grundlæggende spørgsmål ikke fanger dig på vagt, lad os tage et kig på, hvordan man laver kvadratrod i Java.

Firkant og kvadratrod: Gennemgang af matematiske begreber

For at sikre, at du ikke har nogen forvirring, når du beskæftiger dig med kvadrater og rødder, lad os gennemgå teorien om dette koncept. Et kvadrat af et tal er det tal ganget med sig selv. Hvis n = 4, så er n^2 = 4 4 = 16. Kvadratroden af ​​et tal er det tal, der, hvis det ganges med sig selv, giver en given værdi X. For eksempel skal du finde kvadratroden af ​​n = 16, ved at finde et tal, der, hvis ophøjet til to potens giver 16, vil du løse problemet. I tilfælde af n er kvadratroden af ​​tallet 16 4 (da 4 * 4 = 16).

Sådan laver du kvadratrod i Java ved hjælp af java.lang.Math.sqrt()

Den mest almindelige måde at finde en kvadratrod af et tal i Java er ved at anvende java.lang.Math.sqrt()metoden. Her er den generelle syntaks for java.lang.Math.sqrt() metoden:

public static double sqrt(double a)
I metoden er a en værdi forhøjet til to potens, du vil have kvadratrod for. Når en udvikler anvender java.lang.Math.sqrt(), vil metoden returnere den positive kvadratrod af a (hvis a er større end 0). For negative argumenter java.lang.Math.sqrtreturnerer et NaN-output.

Særlige tilfælde af java.lang.Math.sqrt() returnerer

Som nævnt ovenfor returnerer metoden i de fleste tilfælde positive værdier. Der er dog nogle få specifikke tilfælde, som en udvikler bør være opmærksom på, når han opretter et root-finding-program.
  • For argumenter, der har NaN-værdier eller er negative, vil metoden returnere et NaN-resultat.
  • For argumenter, der er uendeligt positive, vil metoden returnere et uendeligt positivt resultat.
  • For argumenter, der består af et positivt eller negativt nul, er kvadratroden af ​​en vilje lig med a.

Eksempel på brug af 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));
    }
         
}

Finde kvadratrødder i Java Practice Problem

Nu hvor du ved, hvordan man laver et program, der beregner kvadratrødder i Java, lad os tage et kig på, hvordan konceptet passer ind i mere avancerede praksisproblemer. For eksempel kan en interviewer bede dig om at løse en andengradsligning. Lad os tage et kig på, hvordan man håndterer et sådant problem. Opgave: løs en andengradsligning, hvor a = 1, b = 5, c = 2. Løsning:

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

    }
}

Konklusion

Dette var en kort gennemgang af at finde en kvadratrod af et tal i Java. For en nybegynder i softwareudvikling er det en god idé at øve forskellige scenarier (a>0, a<0, a = 0) for at få et solidt greb om konceptet. Når du forstår ins og outs af java.lang.Math.sqrt-metoden, skal du begynde at anvende metoden i komplekse programmer og håndtere opgaver som at løse andengradsligninger.
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION