import java.util.*; class Equation2d { static final Scanner input = new Scanner(System.in); public static void main(String[] args) { double a, b, c; double delta; System.out.println("Résolution d'équations du type a x^2 + b x + c = 0"); System.out.print("Entrez a, b et c : "); a = input.nextDouble(); b = input.nextDouble(); c = input.nextDouble(); delta = b * b - 4.0 * a * c; System.out.println(" delta = " + delta); if (delta > 0.0) { /* En Java, il est possible de déclarer des variables à * n'importe quel moment. Les variables ne sont valides * qu'après leurs déclarations, et avant la fin du bloc * d'instructions en cours. Un bloc d'instruction est * délimité par les accolades { et }. * * On préféra cependant déclarer les variables en début de * bloc d'instruction. */ double x1 = (-b - Math.sqrt(delta)) / (2.0 * a); double x2 = (-b + Math.sqrt(delta)) / (2.0 * a); System.out.println("Il y a deux solutions réelles :\n" + " x' = " + x1 + "\n" + " x\" = " + x2); } else if (delta == 0.0) { double x = -b / (2.0 * a); System.out.println("Il n'y a qu'une solution réelle :\n" + " x = " + x); } else /* (delta < 0.0) */ { double x_re = -b / (2.0 * a); double x_im = Math.abs(Math.sqrt(-delta) / (2.0 * a)); System.out.println("Il y a deux solutions complexes :\n" + " x' = " + x_re + " - " + x_im + " i\n" + " x\" = " + x_re + " + " + x_im + " i"); } } }