English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este programa, aprenderás a encontrar todas las raíces de una ecuación cuadrática y a imprimirlas usando format() en Java.
la forma estándar de una ecuación cuadrática es:
ax2 + bx + c = 0, donde a, b y c son números reales, a ≠ 0
este b2-4ac se llama determinante de la ecuación cuadrática. El determinante describe las propiedades de las raíces.
si el determinante es mayor que 0, las raíces son números reales y diferentes.
si el determinante es igual a 0, las raíces son números reales y iguales.
si el determinante es menor que 0, las raíces son números complejos y diferentes.
public class Cuadrática { public static void main(String[] args) { double a = 2.3, b = 4, c = 5.6; double raíz1, raíz2; double determinante = b * b - 4 * a * c; //condición de raíces reales diferentes if(determinante > 0) { root1 = (-b + Math.sqrt(determinante)) / (2 * a); root2 = (-b - Math.sqrt(determinante)) / (2 * a); System.out.format("root1 = %.2f y raíz2 = %.2f, raíz1 , raíz2); } //condición de raíz real igual else if(determinante == 0) { root1 = root2 = -b / (2 * a); System.out.format("root1 = root2 = %.2f;", root1); } //si la raíz no es un número real else { double parteReal = -b / (2 *a); double imaginarioParte = Math.sqrt(-determinant) / (2 * a); System.out.format("root1 = %.2f+%.2fi y root2 = %.2f-%.2fi", realPart, imaginaryPart, realPart, imaginaryPart); } } }
Al ejecutar el programa, la salida es:
root1 = -0.87+1.30i y root2 = -0.87-1.30i
En el programa anterior, los coeficientes a, b y c se establecen como2.3,4y5.6Luego, calcule el determinante como b2 - 4ac。
según el valor del determinante, calcule las raíces según la fórmula anterior. Nota, hemos utilizado la función de la bibliotecaMath.sqrt()para calcular la raíz cuadrada de un número.
Utilice la función format() de Java para imprimir el raíz (raíz real o raíz compleja) en la pantalla. La función format() también puede ser reemplazada por printf():
System.out.printf("root1 = root2 = %.2f;", root1);