Programa Java para encontrar todas as raízes de uma equação quadrática

Neste programa, você aprenderá a encontrar todas as raízes de uma equação quadrática e imprimi-las usando format () em Java.

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Java:

  • Instrução Java if… else
  • Java Math sqrt ()

A forma padrão de uma equação quadrática é:

 ax2 + bx + c = 0

Aqui, a, b e c são números reais e a não pode ser igual a 0.

Podemos calcular a raiz de um quadrático usando a fórmula:

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

O ±sinal indica que haverá duas raízes:

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

O termo é conhecido como o determinante de uma equação quadrática. Ele especifica a natureza das raízes. Isso é,b2-4ac

  • se determinante> 0 , as raízes são reais e diferentes
  • se determinante == 0 , as raízes são reais e iguais
  • se determinante <0 , as raízes são complexas, complexas e diferentes

Exemplo: programa Java para encontrar raízes de uma equação quadrática

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

Resultado

 root1 = -0.87 + 1.30i e root2 = -0.87-1.30i

No programa acima, os coeficientes a, b e c são definidos como 2,3, 4 e 5,6, respectivamente. Então, o determinanté calculado como .b2 - 4ac

Com base no valor do determinante, as raízes são calculadas conforme fornecido na fórmula acima. Observe que usamos a função de biblioteca Math.sqrt()para calcular a raiz quadrada de um número.

Usamos o format()método para imprimir as raízes calculadas.

A format()função também pode ser substituída por printf()como:

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

Artigos interessantes...