Java-program til at finde alle rødderne i en kvadratisk ligning

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

Interessante artikler...