Contatto.java
Created with JBuilder
class Contatto {
  // Attributi
  public static final int RECAPITI_MAX = 5;

  private String     denominazione;
  private String     attivitą;
  private double     situazioneFinanziaria;
  private Recapito[] elencoRecapiti;
  private int        numeroRecapiti;

  // Costruttore
  public Contatto(String d, String a) {
    denominazione = d;
    attivitą = a;
    situazioneFinanziaria = 0.0;
    elencoRecapiti = new Recapito[RECAPITI_MAX];
    numeroRecapiti = 0;
  }

  // Metodi di restituzione
  public String restituisciDenominazione() {
    return denominazione;
  }
  public String restituisciAttivitą() {
    return attivitą;
  }
  public double restituisciSituazione() {
    return situazioneFinanziaria;
  }

  // Aggiunta di un recapito
  public boolean aggiungiRecapito(Recapito r) {
    if (numeroRecapiti < elencoRecapiti.length) {
      elencoRecapiti[numeroRecapiti] = r;
      ++numeroRecapiti;
      return true;
    } else {
      return false;
    }
  }

  // Cancellazione di un recapito (dato il numero)
  public boolean cancellaRecapito(int posizione) {
    if ((posizione >= 0) && (posizione < numeroRecapiti)) {
      elencoRecapiti[posizione] = elencoRecapiti[numeroRecapiti - 1];
      elencoRecapiti[numeroRecapiti - 1] = null;
      --numeroRecapiti;
      return true;
    } else {
      return false;
    }
  }

  // Restituzione di tutta la lista dei recapiti
  public Recapito[] restituisciRecapiti( ) {
    return elencoRecapiti;
  }

  // Metodi relativi alla situazione finanziaria
  public void accreditaImporto(double importo) {
    situazioneFinanziaria += importo;
  }
  public void addebitaImporto(double importo) {
    situazioneFinanziaria -= importo;
  }
}

Contatto.java
Created with JBuilder