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

Rispondi quotando