Java-program för att hitta alla rötter i en kvadratisk ekvation

I det här programmet lär du dig att hitta alla rötter i en kvadratisk ekvation och skriva ut dem med format () i Java.

För att förstå detta exempel bör du ha kunskap om följande Java-programmeringsämnen:

  • Java if … else Uttalande
  • Java Math sqrt ()

Standardformen för en kvadratisk ekvation är:

 ax2 + bx + c = 0

Här är a, b och c reella tal och a kan inte vara lika med 0.

Vi kan beräkna roten till en kvadratisk med formeln:

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

Den ±tecken tyder på att det kommer att finnas två rötter:

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

Termen är känd som determinanten för en kvadratisk ekvation. Den specificerar rötternas natur. Det är,b2-4ac

  • om determinant> 0 är rötterna verkliga och olika
  • om determinant == 0 är rötterna verkliga och lika
  • om determinant <0 är rötterna komplexa komplexa och olika

Exempel: Java-program för att hitta rötter i en kvadratisk ekvation

 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 och root2 = -0,87-1,30i

I ovanstående program är koefficienterna a, b och c inställda på 2.3, 4 respektive 5.6. Därefter determinantberäknas den som .b2 - 4ac

Baserat på värdet på determinanten beräknas rötterna enligt formeln ovan. Observera att vi har använt biblioteksfunktionen för Math.sqrt()att beräkna kvadratroten av ett tal.

Vi har använt format()metoden för att skriva ut de beräknade rötterna.

Den format()funktionen kan också ersättas med printf()som:

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

Intressanta artiklar...