Program Java na vyhľadanie všetkých koreňov kvadratickej rovnice

V tomto programe sa naučíte nájsť všetky korene kvadratickej rovnice a vytlačiť ich pomocou formátu () v Jave.

Aby ste pochopili tento príklad, mali by ste mať znalosti nasledujúcich tém programovania v jazyku Java:

  • Vyhlásenie Java, ak … else
  • Java Math sqrt ()

Štandardná forma kvadratickej rovnice je:

 ax2 + bx + c = 0

Tu sú a, b a c skutočné čísla a a sa nemôžu rovnať 0.

Môžeme vypočítať koreň kvadratickej rovnice pomocou vzorca:

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

±Znamienko ukáže, že tam budú dva korene:

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

Tento termín je známy ako determinant kvadratickej rovnice. Určuje povahu koreňov. To znamená,b2-4ac

  • ak je determinant> 0 , korene sú skutočné a odlišné
  • ak je determinant == 0 , korene sú skutočné a rovnaké
  • ak je determinant <0 , korene sú zložité zložité a odlišné

Príklad: Program Java na vyhľadanie koreňov kvadratickej rovnice

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

Výkon

 root1 = -0,87 + 1,30i a root2 = -0,87-1,30i

Vo vyššie uvedenom programe sú koeficienty a, bac nastavené na 2,3, 4 a 5,6. Potom determinantsa vypočítava ako .b2 - 4ac

Na základe hodnoty determinantu sa vypočítajú korene, ako je uvedené vo vzorci vyššie. Všimnite si, že sme použili funkciu knižnice Math.sqrt()na výpočet druhej odmocniny čísla.

format()Metódu sme použili na tlač vypočítaných koreňov.

format()Funkcia môže byť tiež nahradený printf()ako:

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

Zaujímavé články...