You are on page 1of 3

package funcionescuadráticas;

import javax.swing.JOptionPane;

public class Main {

public static void main(String[] args) {

String datoEntrada;

double a=0, b=0, c=0; // Se han declarado variables de tipo double, por la existencia de

double raizUnica, parteReal, parteImaginaria; // trabajar con números decimales, además de

double raizReal1, raizReal2; //los resultados posibles a presentar.

JOptionPane.showMessageDialog(null,"REALIZA CALCULOS CON LA ECUACION CUADRATICA");

try

datoEntrada = JOptionPane.showInputDialog("Teclee Coeficiente A: ");

a = Double.parseDouble(datoEntrada);

datoEntrada = JOptionPane.showInputDialog("Teclee Coeficiente B: ");

b = Double.parseDouble(datoEntrada);

datoEntrada = JOptionPane.showInputDialog("Teclee Coeficiente C: ");

c = Double.parseDouble(datoEntrada);

catch (NumberFormatException nfe) // Existen algunas excepsiones entre las mas conocidas
se encuentran : InputMismatchException, Exception, ArithmeticException, etc.

JOptionPane.showMessageDialog(null,"Error, ha ingresado una letra, el valor no es


válido");
//Si se produce el error al convertir el dato a entero se mostrará una ventana similar a
esta:

//Verifica si los datos ingresados coinciden con raíces únicas, raíces complejas o reales,

//utilizando la clase math.pow podemos obtener fácilmente la potencia a la n de cualquier valor.


Recordemos siempre que primero colocamos la base y luego el exponente así:
Math.pow(base,exponente)

if ((Math.pow(b,2)-4*a*c) == 0)

raizUnica = b/(2*a); //Cuando presentamos mensajes o mostramos resultados en ventanas


es muy común usar saltos de

// líneas \n. Tambien mostrar resultados finales asi: “+result+”.

JOptionPane.showMessageDialog(null,"Tiene raíz única\nLa Raíz es : " + raizUnica);

//Si la anterior condición no se cumplió se pasa a la siguiente, la cual nos calcula raíces complejas .

else

if ((Math.pow(b,2)-4*a*c) < 0)

parteReal = -b/(2*a);

//Con el método math.sqrt podemos obtener la raíz de un numero , en cambio con math.abs
calculamos su valor absoluto.

parteImaginaria = Math.sqrt(Math.abs(Math.pow(b,2)-4*a*c))/(2*a);

JOptionPane.showMessageDialog(null,"Tiene raices complejas\n PARTE REAL + PARTE


IMAGINARIA\n"+parteReal + " + " + parteImaginaria+"\n"+parteReal + " - " + parteImaginaria);
}

//Si por casualidad no se cumple ninguna condición anterior se procede al último caso contrario, el
cual calcula las dos raíces reales de la ecuación.

else

//Aquí hemos aplicado los metodos ya conocidos estableciendo una estructura similar a la
fórmula:

raizReal1 = (-b + Math.sqrt(Math.pow(b,2)-4*a*c))/(2*a);

raizReal2 = (-b - Math.sqrt(Math.pow(b,2)-4*a*c))/(2*a);

JOptionPane.showMessageDialog(null,"Tiene raices reales\nRaiz real 1 =


"+raizReal1+"\nRaiz real 2= "+raizReal2);

//La ventana de resultados nos mostraría:

You might also like