Java program a másodfokú egyenlet összes gyökerének megtalálásához

Ebben a programban megtanulja megtalálni a másodfokú egyenlet összes gyökerét, és kinyomtatni a Java-ban a format () segítségével.

A példa megértéséhez ismernie kell a következő Java programozási témákat:

  • Java if… else nyilatkozat
  • Java Math sqrt ()

A másodfokú egyenlet standard formája:

 ax2 + bx + c = 0

Itt a, b és c valós számok, és a nem lehet egyenlő 0-val.

Kiszámíthatjuk a másodfok gyökerét a következő képlet segítségével:

 x = (-b ± √(b2-4ac)) / (2a)

A ±jel azt jelzi, hogy két gyökér lesz:

 root1 = (-b + √(b2-4ac)) / (2a) root1 = (-b - √(b2-4ac)) / (2a)

A kifejezés a másodfokú egyenlet meghatározójaként ismert . Meghatározza a gyökerek jellegét. Vagyisb2-4ac

  • ha determináns> 0 , akkor a gyökerek valósak és különbözőek
  • ha determináns == 0 , akkor a gyökerek valósak és egyenlőek
  • ha determináns <0 , akkor a gyökerek összetettek és összetettek

Példa: Java program a másodfokú egyenlet gyökereinek megkeresésére

 public class Main ( public static void main(String() args) ( // value a, b, and c double a = 2.3, b = 4, c = 5.6; double root1, root2; // calculate the determinant (b2 - 4ac) double determinant = b * b - 4 * a * c; // check if determinant is greater than 0 if (determinant> 0) ( // two real and distinct roots root1 = (-b + Math.sqrt(determinant)) / (2 * a); root2 = (-b - Math.sqrt(determinant)) / (2 * a); System.out.format("root1 = %.2f and root2 = %.2f", root1, root2); ) // check if determinant is equal to 0 else if (determinant == 0) ( // two real and equal roots // determinant is equal to 0 // so -b + 0 == -b root1 = root2 = -b / (2 * a); System.out.format("root1 = root2 = %.2f;", root1); ) // if determinant is less than zero else ( // roots are complex number and distinct double real = -b / (2 * a); double imaginary = Math.sqrt(-determinant) / (2 * a); System.out.format("root1 = %.2f+%.2fi", real, imaginary); System.out.format("root2 = %.2f-%.2fi", real, imaginary); ) ) )

Kimenet

 root1 = -0,87 + 1,30i és root2 = -0,87-1,30i

A fenti programban az a, b és c együtthatókat 2,3, 4 és 5,6-ra állítjuk be. Ezután a determinantszámítjuk .b2 - 4ac

A determináns értéke alapján a gyökerek kiszámítása a fenti képlet szerint történik. Figyeljük meg, hogy a könyvtár függvényt használtuk Math.sqrt()a szám négyzetgyökének kiszámításához.

A format()számított gyökerek kinyomtatására a módszert alkalmaztuk .

A format()funkció a következőkkel is helyettesíthető printf():

 System.out.printf("root1 = root2 = %.2f;", root1);

érdekes cikkek...