Програма Java за намиране на всички корени на квадратно уравнение

В тази програма ще се научите да намирате всички корени на квадратно уравнение и да ги отпечатвате, използвайки format () в Java.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:

  • Java, ако … друго Изявление
  • Java Math sqrt ()

Стандартната форма на квадратно уравнение е:

 ax2 + bx + c = 0

Тук a, b и c са реални числа и a не може да бъде равно на 0.

Можем да изчислим корена на квадрат, като използваме формулата:

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

В ±знак показва, че ще има две корени:

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

Терминът е известен като детерминанта на квадратно уравнение. Той уточнява естеството на корените. Това е,b2-4ac

  • ако детерминанта> 0 , корените са реални и различни
  • ако детерминанта == 0 , корените са реални и равни
  • ако детерминанта <0 , корените са сложни сложни и различни

Пример: Програма Java за намиране на корени на квадратно уравнение

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

Изход

 корен1 = -0,87 + 1,30i и корен2 = -0,87-1,30,30i

В горната програма коефициентите a, b и c са зададени съответно на 2,3, 4 и 5,6. След това determinantсе изчислява като .b2 - 4ac

Въз основа на стойността на детерминанта, корените се изчисляват, както е дадено в горната формула. Забележете, че използвахме библиотечна функция Math.sqrt()за изчисляване на квадратния корен на число.

Използвахме format()метода за отпечатване на изчислените корени.

Най format()функция също може да бъде заменен от printf()по:

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

Интересни статии...