Segundo programa de ecuaciones cuadraticas

 public class QuadraticEquationSolver {

    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        

        String respuesta = "si";

        

        while(respuesta.equals("si")) {

            double a, b, c;

            double r1 = 0, r2 = 0, i1 = 0, i2 = 0;

            

            System.out.print("Ingrese el valor de a: ");

            a = input.nextDouble();

            

            System.out.print("Ingrese el valor de b: ");

            b = input.nextDouble();

            

            System.out.print("Ingrese el valor de c: ");

            c = input.nextDouble();

            

            if(a == 0) {

                if(b != 0) {

                    r1 = -c / b;

                } else {

                    System.out.println("Solución trivial");

                }

            } else {

                double discr = Math.pow(b, 2) - 4 * a * c;

                

                if(discr >= 0) {

                    r1 = (-b + Math.sqrt(discr)) / (2 * a);

                    r2 = (-b - Math.sqrt(discr)) / (2 * a);

                } else {

                    r1 = -b / (2 * a);

                    r2 = r1;

                    i1 = Math.sqrt(Math.abs(discr)) / (2 * a);

                    i2 = -i1;

                }

            }

            

            System.out.println("Soluciones:");

            System.out.println("r1: " + r1);

            System.out.println("r2: " + r2);

            System.out.println("i1: " + i1);

            System.out.println("i2: " + i2);

            

            System.out.print("¿Repetir? Conteste si o no: ");

            respuesta = input.next();

        }

        

        input.close();

    }

}

Comentarios

Entradas más populares de este blog

Cifras significativas y tipos de errores

Métodos iterativos.