Problema con Arraylist ed oggetti inviati da tastiera

di il
4 risposte

Problema con Arraylist ed oggetti inviati da tastiera

Ciao a tutti,
il mio problema sarà certamente banale e forse già è capitato a qualcuno di voi,tuttavia non essendo riuscito a trovare qualcosa di analogo passo a descriverlo di seguito:

Il mio esercizio consiste nell'avere una classe che eredita delle proprietà da altre classi.Il programma mi chiede quanti elementi della classe istanziare. Dato il numero da tastiera passo a instanziare gli oggetti in tutte le parti(es. nome,cognome,età,ecc.) e riempo un arraylist del tipo dell'oggetto(es.impiegato).Quando vado a leggere l'arraylist mi restituisce correttamente la sua dimensione,con gli elementi effettivamente inseriti ma stampa a video sempre e solo l'ultimo elemento inserito( esempio: oggetti inseriti 3,ultimo elemento Marco Rossi stamperà 3 volte Marco Rossi).

Grazie in anticipo per il vostro tempo

4 Risposte

  • Re: Problema con Arraylist ed oggetti inviati da tastiera

    rocky1983 ha scritto:


    ma stampa a video sempre e solo l'ultimo elemento inserito( esempio: oggetti inseriti 3,ultimo elemento Marco Rossi stamperà 3 volte Marco Rossi).
    Quasi certamente hai (ri)usato sempre lo stesso oggetto, cambiandone solo le sue proprietà.
  • Re: Problema con Arraylist ed oggetti inviati da tastiera

    Scelta è un valore che passo da tastiera per dire quanti elementi voglio aggiungere.
    i è l'oggetto di tipo Impiegato
    azienda il mio arraylist

    for(int c=0;c<scelta;c++)
    {
    System.out.println("Inserisci il Nome:");
    nome=scan.nextLine();
    i.setNome(nome);
    System.out.println("Inserisci il Cognome:");
    cognome=scan.nextLine();
    i.setCognome(cognome);
    System.out.println("Inserisci l'età:");
    eta=Integer.parseInt(scan.nextLine());
    i.setEta(eta);
    System.out.println("Inserisci il Titolo di Studio:");
    titoloDiStudio=scan.nextLine();
    i.setTitoloDiStudio(titoloDiStudio);
    System.out.println("Inserisci stipendio:");
    stipendio=Integer.parseInt(scan.nextLine());
    i.setStipendio(stipendio);
    azienda.add(c,i);
    }

    dove sbaglio?
  • Re: Problema con Arraylist ed oggetti inviati da tastiera

    ..

    rocky1983 ha scritto:


    i è l'oggetto di tipo Impiegato

    dove sbaglio?
    Non vedo la definizione di i e l'assegnamento di un oggetto Impiegato ... che quindi è sicuramente fatto prima del for. E quindi l'oggetto Impiegato è appunto uno solo.

    Lo sbaglio è quello.
  • Re: Problema con Arraylist ed oggetti inviati da tastiera

    Ti ringrazio infinitamente,l'errore stava proprio nel fatto che istanziavo l'oggetto impiegato fuori dal for...grazie mille per la dritta;)
Devi accedere o registrarti per scrivere nel forum
4 risposte