El motivo de este mensaje es que estoy haciendo un ArrayList de personas y dentro de la clase persona tengo uno de los atributos otro ArrayList de teléfonos.
Este es el Main
Código:
Y este es la clase Personapublic static void main(String[] args) { ArrayList<Persona> personas = new ArrayList<Persona>(); String resp = ""; Scanner sc = new Scanner(System.in); do { Persona p = new Persona(); do { String telefono; do { System.out.print("Telefono:"); telefono = sc.nextLine(); } while(existeTelefono(personas, telefono));) p.addTelefono(telefono); System.out.print("Mas telefonos? (s/n)"); resp = sc.nextLine(); } while(!resp.equals("n")); personas.add(p); System.out.print("Quieres meter otra persona?(s/n)"); resp = sc.nextLine(); } while (!resp.equals("n"));} public static boolean existeTelefono(ArrayList<Persona>personas, String telefono){ for (int i = 0; i < personas.size(); i++) { for (int j = 0; j < personas.get(i).getTelefono().size();j++) { if(personas.get(i).getTelefono().get(j).equals(telefono)) return true; } } return false; }
Código:
El problema es que en el bucle for de comprobar si existe teléfono no entra, pero me devuelve false aunque el teléfono este repetido , no se por que el método boolean existeTelefono no me funciona. Espero que me puedan ayudar. Muchas graciaspublic class Persona { private String dni; private String nombre; private String apellidos; private ArrayList<String> telefono; private ArrayList<String> email; public Persona() { telefono = new ArrayList<String>(); email = new ArrayList<String>(); } public String getDni() { return dni; } public void setDni(String dni) { this.dni = dni; } public String getNombre() { return nombre; } public void setNombre(String nombre) { this.nombre = nombre; } public String getApellidos() { return apellidos; } public void setApellidos(String apellidos) { this.apellidos = apellidos; } public void addTelefono(String telf) { telefono.add(telf); } public ArrayList<String> getTelefono() { return telefono; } public ArrayList<String> getEmail() { return email; } public void addEmail(String e) { email.add(e); } }
He limitado el código solo a esta función aunque me ocurre lo mismo con los email, pero si lo he conseguido hacer con dni en un simple bucle for. El problema es cuando accedo a un for dentro de otro for. No se que estoy haciendo mal. Muchas gracias de nuevo. Agradecería mucho vuestra ayuda