Salve ragazzi... il mio problema riguarda un arraylist e una funzione che stampa il suo contenuto.
Ho una classe Giocatore di attributi ID,Cognome,Ruolo,Costo,SquadradiAppartenenza e in un'altra classe ho un arraylist di Giocatore chiamato ElencoGiocatori.
In quest'ultima classe ho questo medoto:
dove StampaGiocatore() è un metodo che stampa a i video le get degli attributi di Giocatore.codice:public static void StampaElencoGiocatori() { if(!ElencoGiocatori.isEmpty()) { System.out.println("******** GIOCATORI *******"); for(int i=0;i<ElencoGiocatori.size();i++) { ElencoGiocatori.get(i).StampaGiocatore(); } } else {System.out.println("Nessun giocatore inserito!");}; }
Il seguente è un medoto che non dovrebbe fare altro che stanziare una variabile di tipo Giocatore e aggiungerlo all'arraylist ElencoGiocatori:
codice:public static void AggiungiGiocatore(Integer ID,String Cognome,String Ruolo,Integer Costo, String SquadGioc) { Giocatore G = new Giocatore(ID, Cognome, Ruolo, Costo, SquadGioc); ElencoGiocatori.add(G); }
Prima di spiegarvi il problema, vi riporto un piccolo main di prova:
Mandando il tutto in esecuzione con i dovuti aggiustamenti (ho cercato di evitare di riportare codice inutile) il risultato è la stampa dell'ultimo giocatore inserito ripetuta per n volte... dove n è il numero di volte che ho richiamato AggiungiGiocatore.codice:public static void main(String[] args) { Fantacalcio.AggiungiGiocatore(1, "Del Piero", "A", 10, "JUV"); Fantacalcio.AggiungiGiocatore(2, "Boateng", "C", 15, "MIL"); Fantacalcio.StampaElencoGiocatori(); }
Ho provato a cercare alternative ma non riesco a risolvere il problema... qualcuno può darmi un consiglio?
Vi ringrazio anticipatamente!![]()

Rispondi quotando
