Salve a tutti, sono Alessandro e sono uno studente Universitario, ho riscontrato un problema con gli ArrayList
Devo creare una Lista dove viene inserito un numero di telefono e ti permette di votare un concorrente.
Il problema sta nel fatto che entrato nel for mi da errore di Index out-of-bounds, se metto size -1 mi entra correttamente.
Ma se per esempio inserisco il numero di telefono 091 me lo va a sostituire all'utente 0 che ha come numero "0000" e una volta che rientra nel for (tramite menu iniziale) e reinserisco 091 me lo mette nella posizione 1, e l'indice 0 non lo vede più.
Questa è la parte di codice che da problemi:
ArrayList <Utente> ListaUtenti = new ArrayList<>(4);
Utente utente = new Utente(0000, VotiRimanenti);
ListaUtenti.add(utente);
System.out.print("Inserisci numero di telefono: ");
numTel = in.nextLong();
size = ListaUtenti.size() - 1;
for(i = 0; i <= size; i++){ // SE NON METTO <= non mi entra nel ciclo
for(j = 0; j < size; j++){
if(numTel == ListaUtenti.get(j).getTelefono()){
System.out.println("VECCHIO UTENTE");
break;
}
}
if(numTel != ListaUtenti.get(j).getTelefono() && numTel != ListaUtenti.get(i).getTelefono()){
ListaUtenti.add(new Utente(numTel, VotiRimanenti));
System.out.println("NUOVO UTENTE");
break;
}
}