class EquazioneSecondoGrado {
  private double a, b, c;
    
  public EquazioneSecondoGrado() {
    this.a = this.b = this.c = 0.0;
  }
  
  public EquazioneSecondoGrado(double myA, double myB, double myC) {
    this.a = myA;
    this.b = myB; 
    this.c = myC;
  }
  
  public double getA() {
    return this.a;
  }
  
  public double getB() {
    return this.b;
  }

  public double getC() {
    return this.c;
  }
  
  public void setA(double myA) {
    this.a = myA;
  }

  public void setB(double myB) {
    this.b = myB;
  }

  public void setC(double myC) {
    this.c = myC;
  }
  
  public double delta() {
    return (this.b*this.b-4.0*this.a*this.c);
  }
  
  public boolean isRisolvibile() {
    if(this.delta() >= 0) 
      return true;
    else
      return false;
  }
  
  public double[] risolvi() {
    if(this.delta() < 0) {
      double[] soluzione = {Double.NaN};
      return soluzione;
    }
    else if(this.delta() == 0) {
      double[] soluzione = {-this.b/(2.0*this.a)};
      return soluzione;
    }
    else {
      double[] soluzione = {(-this.b+Math.sqrt(this.delta()))/(2.0*this.a), 
        (-this.b-Math.sqrt(this.delta()))/(2.0*this.a)};
      return soluzione;
    }
  }  
}
import javax.swing.*;

class UsaEquazioneSecondoGrado {
  public static void main(String[] args) {
    String stringaInput;
    double a, b, c;

    stringaInput = JOptionPane.showInputDialog("Inserisci il coefficiente a.");
    a = Double.parseDouble(stringaInput);
    
    stringaInput = JOptionPane.showInputDialog("Inserisci il coefficiente b.");
    b = Double.parseDouble(stringaInput);
    
    stringaInput = JOptionPane.showInputDialog("Inserisci il coefficiente c.");
    c = Double.parseDouble(stringaInput);

    EquazioneSecondoGrado myEquazione = new EquazioneSecondoGrado(a,b,c);
    
    if(myEquazione.isRisolvibile()) {
      double[] mySoluzioni = myEquazione.risolvi();
      if(mySoluzioni.length == 1) 
        JOptionPane.showMessageDialog(null, "L'equazione ammette due soluzioni coincidenti.\n" +
          "x1 = x2 = " +  mySoluzioni[0]);
      else
      JOptionPane.showMessageDialog(null, "L'equazione ammette due soluzioni distinte.\n" +
        "x1 = " +  mySoluzioni[0] + "\n" +
        "x2 = " + mySoluzioni[1] );
    }
    else
      JOptionPane.showMessageDialog(null, "L'equazione non ammette soluzioni reali.");
    
    System.exit(0);
  }
}