Ditta.java
Created with JBuilder
class Ditta {
  private static final int DIMENSIONE_INIZIALE_COMPRAVENDITE = 100;

  private String     ragioneSociale;
  private String     codiceCommerciale;
  private double     compravenditeTotale;
  private double     compravenditeSospese;
  private Articolo[] elencoCompravendite;
  private int        numeroCompravendite;

  public Ditta(String ragioneSociale, String codice) {
    this.ragioneSociale = ragioneSociale;
    this.codiceCommerciale = codice;
    compravenditeTotale = compravenditeSospese = 0;
    elencoCompravendite = new Articolo[DIMENSIONE_INIZIALE_COMPRAVENDITE];
    numeroCompravendite = 0;
  }

  public double restituisciCompravenditeSospese() {
    return compravenditeSospese;
  }
  public String restituisciCodice() {
    return codiceCommerciale;
  }

  public void eseguiAcquisto(Articolo a, int quantità) {
    aggiungiCompravendita(a);
    double importo = a.restituisciPrezzoVendita() * quantità;
    compravenditeTotale += importo;
    compravenditeSospese += importo;
  }

  public void eseguiVendita(Articolo a, int quantità) {
    aggiungiCompravendita(a);
    double importo = a.restituisciPrezzoAcquisto() * quantità;
    compravenditeTotale -= importo;
    compravenditeSospese -= importo;
  }

  public void eseguiPagamento(double importo) {
    compravenditeSospese -= importo;
  }

  public void eseguiRiscossione(double importo) {
    compravenditeSospese += importo;
  }

  public int numeroCompravendite(Articolo a) {
    int totale = 0;
    String codiceCercato = a.restituisciCodice();
    for (int i = 0; i < numeroCompravendite; ++i) {
      if (codiceCercato.equals(elencoCompravendite[i].restituisciCodice())) {
        ++totale;
      }
    }
    return totale;
  }

  private void aggiungiCompravendita(Articolo a) {
    if (numeroCompravendite == elencoCompravendite.length) {
      espandiCompravendite();
    }
    elencoCompravendite[numeroCompravendite] = a;
    ++numeroCompravendite;
  }

  private void espandiCompravendite() {
    Articolo[] nuovoElencoCompravendite =
        new Articolo[numeroCompravendite * 2];
    for (int i = 0; i < numeroCompravendite; i++) {
      nuovoElencoCompravendite[i] = elencoCompravendite[i];
    }
    elencoCompravendite = nuovoElencoCompravendite;
  }
}

Ditta.java
Created with JBuilder