cerca
ProvaJava
modifica cronologia stampa login logout

Wiki

Tools

Categorie

Help

edit SideBar

Prova Java

public class Ellisse {

  // variabili istanza
  private double asseMaggiore, asseMinore;

  // costruttori
  public Ellisse() {
    this.asseMaggiore = 0.0;
    this.asseMinore = 0.0;
  }

  public Ellisse(double maggiore, double minore) {
    this.asseMaggiore = maggiore;
    this.asseMinore = minore;
  }

  // metodi istanza
  public void setAsseMaggiore(double maggiore) {
    this.asseMaggiore = maggiore;
  }

  public void setAsseMinore(double minore) {
    this.asseMinore = minore;
  }

  public double getAsseMaggiore() {
    return this.asseMaggiore;
  }

  public double getAsseMinore() {
    return this.asseMinore;
  }

  public double calcolaArea() {
    return Math.PI * this.asseMaggiore * this.asseMinore;
  }

}

public class Cerchio extends Ellisse {

   public Cerchio(double raggio) {
    // Invochiamo direttamente un costruttore specifico della superclasse, 
    // imponendo che asseMinore = asseMinore = raggio. 
    // Ricordate che questa istruzione deve essere il primo enunciato del 
    // costruttore della sottoclasse perchè altrimenti, la JVM invoca al posto
    // vostro come prima istruzione super();
    super(raggio,raggio);
  }

  // metodi istanza

// public void setRaggio(double raggio) { // this.setAsseMaggiore(raggio); // this.setAsseMinore(raggio); // }

  public double getRaggio() {
    return this.getAsseMaggiore();
  }

public class AreaEllisse {

    public static void main(String[] args) {
    String stringaInput;
    stringaInput = JOptionPane.showInputDialog("Inserisci il raggio: ");
    Cerchio cerchioUtente = new Cerchio(Double.parseDouble(stringaInput));

    JOptionPane.showMessageDialog(null, "L'area del cerchio avente raggio " +
      cerchioUtente.getRaggio() + "è " + cerchioUtente.calcolaArea());

    System.exit(0);
  }

}