I dette program lærer du at finde alle rødderne i en kvadratisk ligning og udskrive dem ved hjælp af format () i Java.
For at forstå dette eksempel skal du have kendskab til følgende Java-programmeringsemner:
- Java hvis … ellers Erklæring
- Java Math sqrt ()
Standardformen for en kvadratisk ligning er:
ax2 + bx + c = 0
Her er a, b og c reelle tal, og a kan ikke være lig med 0.
Vi kan beregne roden af en kvadratisk ved hjælp af formlen:
x = (-b ± √(b2-4ac)) / (2a)
Det ±
tegn tyder på, at der vil være to rødder:
root1 = (-b + √(b2-4ac)) / (2a) root1 = (-b - √(b2-4ac)) / (2a)
Udtrykket er kendt som determinanten for en kvadratisk ligning. Det specificerer røddernes natur. Det er,b2-4ac
- hvis determinant> 0 , er rødderne reelle og forskellige
- hvis determinant == 0 , er rødderne reelle og lige
- hvis determinant <0 , er rødderne komplekse og forskellige
Eksempel: Java-program til at finde rødder i en kvadratisk ligning
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); ) ) )
Produktion
root1 = -0,87 + 1,30i og root2 = -0,87-1,30i
I ovenstående program er koefficienterne a, b og c indstillet til henholdsvis 2,3, 4 og 5,6. Derefter determinant
beregnes den som .b2
- 4ac
Baseret på værdien af determinanten beregnes rødderne som angivet i formlen ovenfor. Bemærk, at vi har brugt biblioteksfunktionen Math.sqrt()
til at beregne kvadratroden af et tal.
Vi har brugt format()
metoden til at udskrive de beregnede rødder.
Den format()
funktion kan også erstattes af printf()
som:
System.out.printf("root1 = root2 = %.2f;", root1);