Polinomio2Grado.java
Created with JBuilder
class Polinomio2Grado {

  // Costanti che identificano il tipo di soluzione
  public static final int SOLUZIONI_REALI = 0;
  public static final int SOLUZIONI_IMMAGINARIE = 1;
  public static final int SOLUZIONE_UNICA = 3;
  public static final int POLINOMIO_DEGENERE = 4;

  // Coefficienti del polinomio
  private double coefficienteX2;
  private double coefficienteX;
  private double coefficiente;

  // Soluzioni
  private double soluzione1;
  private double soluzione2;

  // Costruttore: è necessario specificare il valore
  // dei coefficienti per creare oggetti della classe
  public Polinomio2Grado( double x2, double x, double c ) {
    coefficienteX2 = x2;
    coefficienteX = x;
    coefficiente = c;
    soluzione1 = soluzione2 = 0;
  }

  // Metodi per l'impostazione dei coefficienti
  public void impostaCoefficienteX2( double x2 ) {
    coefficienteX2 = x2;
  }
  public void impostaCoefficienteX( double x ) {
    coefficienteX = x;
  }
  public void impostaCoefficiente( double c ) {
    coefficiente = c;
  }

  // Restituisce:
  // - SOLUZIONI_REALI se il polinomio ammette due soluzioni reali distinte
  // - SOLUZIONI_IMMAGINARIE se il polinomio ha soluzioni complesse coniugate
  // - SOLUZIONE_UNICA se le soluzioni sono reali e coincidenti
  // - POLINOMIO_DEGENERE se coefficienteX2 o coefficienteX sono uguali a 0
  public int calcolaSoluzioni( ) {
    // Sinonimi locali per gli attributi
    double a = coefficienteX2;
    double b = coefficienteX;
    double c = coefficiente;
    // Assumiamo che il polinomio sia degenere
    int risultato = POLINOMIO_DEGENERE;
    // Calcolo delle soluzioni
    if ((a != 0) && (b != 0)) {
      double delta = Math.pow(b,2) - 4 * a * c;
      if (delta > 0) {
        // Le soluzioni sono reali e distinte
        soluzione1 = (-b + Math.sqrt(delta)) / (2 * a);
        soluzione2 = (-b - Math.sqrt(delta)) / (2 * a);
        risultato = SOLUZIONI_REALI;
      } else if (delta < 0) {
        // Le soluzioni sono complesse coniugate
        risultato = SOLUZIONI_IMMAGINARIE;
      } else {
        // Le soluzioni sono reali e coincidenti
        soluzione1 = soluzione2 = -b / (2 * a);
        risultato = SOLUZIONE_UNICA;
      }
    }
    return risultato;
  }

  // Metodi per la restituzione delle soluzioni e dei coefficienti
  public double restituisciSoluzione1() {
    return soluzione1;
  }
  public double restituisciSoluzione2() {
    return soluzione2;
  }
  public double restituisciCoefficienteX2() {
    return coefficienteX2;
  }
  public double restituisciCoefficienteX() {
    return coefficienteX;
  }
  public double restituisciCoefficiente() {
    return coefficiente;
  }

}

Polinomio2Grado.java
Created with JBuilder