Eq2GrSentinella.java
Created with JBuilder
import javabook.*;

class Eq2GrSentinella {

  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();

    // Richiedo i coefficienti dell'equazione
    // NOTA: le variabili sono inizializzate a 0. Questo fa si
    //       che il ciclo while di controllo inizi e richieda i dati
    double a = 0, b = 0, c = 0;
    while (a == 0) {
      a = richiestaDati.getFloat("Inserisci il valore di a: ");
    }
    while (b == 0) {
      b = richiestaDati.getFloat("Inserisci il valore di b: ");
    }
    c = richiestaDati.getFloat("Inserisci il valore di c: ");

    // 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);
    }

    // Visualizza i messaggi
    uscitaDati.show();

  }  // Fine di main

}



Eq2GrSentinella.java
Created with JBuilder