CodeGym /Java blog /Véletlen /Math.sqrt módszer – Négyzetgyök Java nyelven
John Squirrels
Szint
San Francisco

Math.sqrt módszer – Négyzetgyök Java nyelven

Megjelent a csoportban
Bár a négyzetgyök kiszámítása Java nyelven nem olyan gyakori kérdés a szoftverfejlesztési interjúk során, néha egy interjúban valami ilyesmit lehet feltenni: „ Van egy x egész szám. Hozzon létre egy Java programot, amely kiszámítja a négyzetgyökét”. Hogy megbizonyosodjunk arról, hogy egy ilyen alapkérdés ne tántorítsa el, nézzük meg, hogyan lehet négyzetgyököt használni Java nyelven.

Négyzet és négyzetgyök: matematikai fogalmak áttekintése

Annak érdekében, hogy ne legyen félreértés a négyzetekkel és gyökökkel kapcsolatban, tekintsük át ennek a fogalomnak az elméletét. Egy szám négyzete az a szám önmagával szorozva. Ha n = 4, akkor n^2 = 4 4 = 16. Egy szám négyzetgyöke az a szám, amelyet önmagával megszorozva egy adott X értéket ad. Például meg kell találni n = négyzetgyökét. 16, ha talál egy számot, amelyet ha kettő hatványára emel, 16-ot ad, akkor megoldja a problémát. n esetén a 16-os szám négyzetgyöke 4 (mivel 4 * 4 = 16).

Hogyan lehet négyzetgyököt csinálni Java-ban a java.lang.Math.sqrt() használatával

A Java nyelvben a szám négyzetgyökének megtalálásának legáltalánosabb módja a java.lang.Math.sqrt()módszer alkalmazása. Íme a java.lang.Math.sqrt() metódus általános szintaxisa:

public static double sqrt(double a)
A metódusban az a kettő hatványára emelt érték, amelyre négyzetgyököt akarunk kapni. Ha egy fejlesztő alkalmazza java.lang.Math.sqrt(), a metódus a pozitív négyzetgyökét adja vissza (ha az a nagyobb, mint 0). Negatív argumentumok esetén java.lang.Math.sqrtNaN kimenetet ad vissza.

A java.lang.Math.sqrt() speciális esetei visszatér

Mint fentebb említettük, a legtöbb esetben a módszer pozitív értékeket ad vissza. Azonban van néhány konkrét eset, amellyel a fejlesztőnek tisztában kell lennie a gyökérkereső program létrehozásakor.
  • A NaN értékkel rendelkező vagy negatív argumentumok esetén a módszer NaN eredményt ad vissza.
  • A végtelenül pozitív érvek esetén a módszer végtelenül pozitív eredményt ad vissza.
  • Pozitív vagy negatív nullából álló argumentumok esetén az akarat négyzetgyöke egyenlő a-val.

Példa a java.lang.Math.sqrt() használatára


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

Négyzetgyökök keresése Java gyakorlati feladatban

Most, hogy tudja, hogyan kell létrehozni egy olyan programot, amely négyzetgyököket számít ki Java nyelven, nézzük meg, hogyan illeszkedik a koncepció a fejlettebb gyakorlati problémákba. Például egy kérdező megkérheti Önt egy másodfokú egyenlet megoldására. Nézzük meg, hogyan lehet kezelni egy ilyen problémát. Feladat: oldjunk meg egy másodfokú egyenletet, ahol a = 1, b = 5, c = 2. Megoldás:

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

    }
}

Következtetés

Ez egy rövid összefoglaló volt egy szám négyzetgyökének megtalálásáról Java nyelven. Egy kezdő szoftverfejlesztésben célszerű különböző forgatókönyveket (a>0, a<0, a = 0) gyakorolni, hogy szilárd képet kapjanak a koncepcióról. Miután megértette a java.lang.Math.sqrt módszer csínját-bínját, kezdje el a módszer alkalmazását összetett programokban, olyan feladatok kezelésében, mint a másodfokú egyenletek megoldása.
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION