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 ajava.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.sqrt
NaN 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.
További olvasnivalók: |
---|
GO TO FULL VERSION