Ciao a tutti ho un problema con un esercizio, praticamente non mi vengono restituiti errori, ma non riesco a far funzionare la parte dell'esercizio che mi chiede di verificare se la persona p risiede in una delle località memorizzate; penso di doverlo fare con equals, però non so se devo inserirlo in un ciclo.

codice:
public class EsamePersona {

	public static void main(String[] args) {

		Persona[] cittadini = new Persona[5];
		cittadini[0] = new Persona("Giorgio", "Bianchi", "Torino");
		cittadini[1] = new Persona("Gianni", "Neri", "Ivrea");
		cittadini[2] = new Persona("Anna", "Rossi", "Chieri");
		cittadini[3] = new Persona("Maria", "Bianchi", "Ivrea");
		cittadini[4] = new Persona("Roberto", "Verdi", "Torino");

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


//      L'array di stringhe, chiamato "citta", deve essere riempito
//		con nomi di citta'.

		String[] citta = ArrayUtil.readStringArray();
		ArrayUtil.println(citta);

// nel seguito si verifica se esiste almeno un cittadino che risiede in una delle citta'
// elencate nell'array citta.
		boolean unResidente = esisteResidente(cittadini, citta);
		if (unResidente)
			System.out.println("Esiste almeno un cittadino che risiede nelle citta' indicate");
		else System.out.println("Non esiste alcun cittadino che risiede nelle citta' indicate");

	} // fine main

/** Il metodo statico

		public static boolean esisteResidente (Persona[] persone, String[] luoghi)

	verifica se esiste almeno una persona nell'elenco "persone" che
	risiede in una delle citta' memorizzate nell'array "luoghi".

	Per valutare se una determinata persona risiede o meno in una delle citta'
	dell'array "luoghi", esisteResidente() utilizza il metodo
		public boolean risiede(String[] leCitta)
	offerto dagli oggetti della classe Persona
	Sviluppare tale metodo nell'opportuna classe java.

*/

	public static boolean esisteResidente (Persona[] persone, String[] luoghi) {
		/* sviluppare il codice del metodo */
		for (int i=0; i<persone.length; i++);
				if (persone.equals(luoghi))
		return true;
		else return false;
	}
}
codice:
 /** Classe Persona: descrive persone che abitano in una citta'.
 */

public class Persona {

	private String nome;
	private String cognome;
	private String citta;

 /** Costruttore di Default vuoto */
  public Persona() {

		nome = " ";
		cognome =" ";
		citta =" ";
  }

 /** Costruttore con parametri*/
  public Persona(String nomeP,String cognomeP, String cittaP) {
		nome = nomeP;
		cognome = cognomeP;
		citta = cittaP;
  }

  public String getNome () {
		return nome;
  }

  public String getCognome() {
	  return cognome;
  }

  public String getCitta() {
	  return citta;
  }

  public String toString() {
	  return "Nome : " + nome + " Cognome : " + cognome
		     + " citta' di residenza : " + citta;
  }

/** il metodo

    		public boolean risiede(String[] leCitta)

    	verifica se la persona p risiede in una delle localita' memorizzate
    	nell'array leCitta. In caso positivo, il metodo restituisce true; false altrimenti.

    	Per esempio, si supponga che l'array leCitta contenga
    	i seguenti nomi di citta: Roma, Torino, Milano.
    	Se p risiede a Torino, il metodo restituisce true.
    	Se invece p risiede a Genova, il metodo restituisce false.
    */


    	public boolean risiede(String[] leCitta) {

    		/* sviluppare il codice del metodo */
    		String p;
    		p = citta;
    	for (int i=0; i<leCitta.length; i++);
    		leCitta.equals(p);
			return true;
}
}// fine definizione classe