Šioje programoje išmoksite rasti visas kvadratinės lygties šaknis ir jas atsispausdinti naudodami „Java“ formatą ().
Norėdami suprasti šį pavyzdį, turite žinoti šias Java programavimo temas:
- „Java“, jei… kitas pareiškimas
- „Java Math sqrt“ ()
Standartinė kvadratinės lygties forma yra:
ax2 + bx + c = 0
Čia a, b ir c yra tikrieji skaičiai, o a negali būti lygūs 0.
Kvadrato šaknį galime apskaičiuoti naudodami formulę:
x = (-b ± √(b2-4ac)) / (2a)
±
Ženklas rodo, kad ten bus dvi šaknys:
root1 = (-b + √(b2-4ac)) / (2a) root1 = (-b - √(b2-4ac)) / (2a)
Šis terminas žinomas kaip kvadratinės lygties determinantas . Jis nurodo šaknų pobūdį. Tai yra,b2-4ac
- jei determinantas> 0 , šaknys yra tikros ir skirtingos
- jei determinantas == 0 , šaknys yra tikros ir lygios
- jei determinantas yra <0 , šaknys yra sudėtingos ir skiriasi
Pavyzdys: „Java“ programa kvadratinės lygties šaknims rasti
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); ) ) )
Rezultatas
root1 = -0,87 + 1,30i ir root2 = -0,87-1,30i
Pirmiau pateiktoje programoje koeficientai a, b ir c nustatomi atitinkamai į 2,3, 4 ir 5,6. Tada determinant
apskaičiuojamas kaip .b2
- 4ac
Remiantis determinanto verte, šaknys apskaičiuojamos taip, kaip nurodyta aukščiau pateiktoje formulėje. Atkreipkite dėmesį, Math.sqrt()
kad skaičiuodami kvadratinę šaknį naudojome bibliotekos funkciją .
format()
Apskaičiuotoms šaknims spausdinti naudojome metodą.
format()
Funkcija taip pat gali būti keičiama printf()
taip:
System.out.printf("root1 = root2 = %.2f;", root1);