import javabook.*; class Eq2GrRipeti { public static void main(String[] args) { // Dichiaro e creo gli oggetti necessari per l'IO MainWindow finestra = new MainWindow("Equazioni di secondo grado"); InputBox richiestaDati = new InputBox(finestra, "Inserimento dati"); OutputBox uscitaDati = new OutputBox(finestra, "Risultati"); // Rendo visibile la finestra principale finestra.show(); // Ripeto la richiesta coefficienti e il calcolo fino a che // l'utente desidera calcolare nuove solutioni int risposta = 1; while (risposta != 0) { // Richiedo i coefficienti dell'equazione double a = richiestaDati.getFloat("Inserisci il valore di a: "); double b = richiestaDati.getFloat("Inserisci il valore di b: "); double c = richiestaDati.getFloat("Inserisci il valore di c: "); if ((a != 0) && (b != 0)) { // a e b sono diversi da 0, l'equazione è non degenere // Procedo con il calcolo del discriminante double delta = Math.pow(b,2) - 4 * a * c; if (delta > 0) { // Le soluzioni sono reali e distinte double x1 = (-b + Math.sqrt(delta)) / (2 * a); double x2 = (-b - Math.sqrt(delta)) / (2 * a); // Visualizza le soluzioni uscitaDati.printLine("Le soluzioni sono reali e distinte. "); uscitaDati.print("Il valore di x1 è "); uscitaDati.printLine(x1); uscitaDati.print("Il valore di x2 è "); uscitaDati.printLine(x2); } else if (delta < 0) { // Le soluzioni sono complesse coniugate uscitaDati.printLine("Le soluzioni sono complesse coniugate. "); } else { // Le soluzioni sono reali e coincidenti double x = -b / (2 * a); // Visualizza le soluzioni uscitaDati.printLine("Le soluzioni sono reali e coincidenti. "); uscitaDati.print("Il valore di x1,x2 è "); uscitaDati.printLine(x); } } else { // L'equazione è degenere uscitaDati.printLine("L'equazione è degenere."); } // Visualizza i messaggi uscitaDati.show(); // Chiedo all'utente se desidera continuare risposta = richiestaDati.getInteger("0 - Fine, n - Continuo"); } // Fine di while (risposta != 0) } // Fine di main