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