ciao non riesco a sviluppare il metodo public static int quantiDipendenti (Dipendente[] dip, String[] luoghi) ora via allego il codice.

codice:
/**
  Classe Reparto. Descrive un reparto di azienda.
 */

public class Reparto
{
	private String nome; // nome del reparto
	private String citta; // citta' in cui si trova il reparto


 /** Costruttore*/
  public Reparto(String n, String c)
  {
		nome = n;
		citta = c;
  }

  public String getNome ()
  {
		return nome;
  }

  public String getCitta()
  {
	  return citta;
  }

  public String toString()
  {
	  return " Reparto : " + nome
		     + "; citta': " + citta;
  }

}
codice:
public class EsameDipendente
{
	public static void main(String[] args)
	{
		// l'array "rep" descrive i dati dei reparti dell'azienda
		Reparto[] rep = new Reparto[3];
		rep[0] = new Reparto("personale", "Torino");
		rep[1] = new Reparto("legale", "Ivrea");
		rep[2] = new Reparto("stipendi", "Collegno");

		for (int i=0; i<rep.length; i++)
			System.out.println(rep[i]);
		System.out.println();


		// l'array "dipendenti" descrive i dati di dipendenti d'azienda
		Dipendente[] dipendenti = new Dipendente[3];
		dipendenti[0] = new Dipendente("M1234", rep[0]);
		dipendenti[1] = new Dipendente("M5678", rep[0]);
		dipendenti[2] = new Dipendente("M9222", rep[1]);

		for (int i=0; i<dipendenti.length; i++)
			System.out.println(dipendenti[i]);
		System.out.println();


//      L'array di stringhe, chiamato "citta", deve essere riempito
//		con nomi di citta'.
		String[] citta = ArrayUtil.readStringArray();
		ArrayUtil.println(citta);
		int totaledipendenti = quantiDipendenti (dipendenti, citta);
		System.out.println ("");
		System.out.println ("Il totale dei dipendenti che lavorano nella citta` elencate sono:");
	    System.out.println (totaledipendenti);


		/* PER ESAME: invocare il metodo sviluppato qui sotto
		   e visualizzare a video il risultato
		   */

		   	int unLavoro = quantiDipendenti(dipendenti, citta);
		   		if (unLavoro > 0)
		   			System.out.println("Esiste almeno un cittadino che risiede nelle citta' indicate" + unLavoro);
		else System.out.println("Non esiste alcun cittadino che risiede nelle citta' indicate");

	} // fine main




      Definire il metodo

		public static int quantiDipendenti (Dipendente[] dip, String[] luoghi)

	che restituisce il numero totale di dipendenti memorizzati nell'array "dip"
	che lavorano in una delle citta' elencate nell'array "luoghi"

	NB: Per valutare la citta' lavorativa di un dipendente, si usi il metodo
		public String getCittaDiLavoro() {}
	di Dipendente

*/
	public static int quantiDipendenti (Dipendente[] dip, String[] luoghi)
	{
	

	}
codice:
/**
  Classe Dipendente. Descrive un dipendente di azienda.
 */

public class Dipendente
{
	private String matricola; // matricola del dipendente
	private Reparto reparto; // reparto in cui il dipendente lavora


 /** Costruttore*/
  public Dipendente(String m, Reparto r)
  {
		matricola = m;
		reparto = r;
  }

  public String getMatricola ()
  {
		return matricola;
  }

  public Reparto getReparto()
  {
	  return reparto;
  }

  public String toString()
  {
	  return " Matricola : " + matricola+ "; reparto: " + reparto;
  }


/* sviluppare il metodo
      public String getCittaDiLavoro()
   che restituisce la citta' del reparto in cui il dipendente lavora.
  */
  public String getCittaDiLavoro()
  {
	return reparto.getCitta();
  }

}