Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 30
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    88

    [JAVA] creare arraylist di oggetti

    salve a tutti dovrei fare una classe che gestisca una lista di oggetti e ho fatto una cosa del genere

    codice:
    //classe catalogo
    public class Catalogo {
    
        private ArrayList<Item> catalogo = new ArrayList <Item>(); 
        
        public void Catalogo(){
        }
       
        public void addProdotto(Item item){
         
            catalogo.add(item);
        }
        public void removeProdotto(Item item){
            catalogo.remove(item);
        } 
        public void MostraCatalogo(){
            for(int i=0; i<catalogo.size();i++){
               
                System.out.println(catalogo.get(i).GetNomeItem());
                System.out.println(catalogo.get(i).GetCodItem());
    
            }
        }
    }

    codice:
    //classe item
    
    public class Item {
        private String nomeprodotto;
        private int codice,
                    disp,
                    prezzo;
        
        public void Item(){
            nomeprodotto="";
            codice=0;
            disp=0;
            prezzo=0;
        }
       
        public void SetNomeItem(String nome){
            this.nomeprodotto=nome;
        }
     
        public void SetCodItem(int codice){
            this.codice=codice;
        }
       
        public void SetDispItem(int disp){
            this.disp=disp;
        }
    
        public void SetPrezzoItem(int prezzo){
            this.prezzo=prezzo;
        }
       
        public String GetNomeItem(){
            return this.nomeprodotto;
        }
        
        public int GetCodItem(){
            return this.codice;
        }
    
        public int GetDispItem(){
            return this.disp;
        }
        
        public int GetPrezzoItem(){
            return this.prezzo;
        }
    }

    codice:
    //main
    public class Store {
    
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
         //Grafica grafica = new Grafica();
         
         //grafica.setVisible(true);
         Scanner scanner = new Scanner(System.in);
         Item item=new Item();
         
         Catalogo catalogo = new Catalogo();
         int i=0;
         while(i<3){
         System.out.println("Inserisci nome articolo");
         String s= scanner.next();
         item.SetNomeItem(s);
         System.out.println("Inserisci codice articolo");
         int c= scanner.nextInt();
         item.SetCodItem(c);
         catalogo.addProdotto(item);
         catalogo.MostraCatalogo();
         i++;
         }
        }
    }
    ma quando poi nel main vado a stampare gli oggetti li sovascrive non capisco dove sta l'errore e mi chiedo se ha senso creare quella classe catalogo con i metodi add essendo il metodo add integrato già nella classe ArrayList.

  2. #2

    Re: [JAVA] creare arraylist di oggetti

    Originariamente inviato da j_ax31
    ma quando poi nel main vado a stampare gli oggetti li sovascrive non capisco dove sta l'errore e mi chiedo se ha senso creare quella classe catalogo con i metodi add essendo il metodo add integrato già nella classe ArrayList.
    In realtà non li sovrascrive.
    L'errore sta nell'usare un'unica istanza della classe Item.
    Nel ciclo devi re-istanziare più volte tale classe (questa è solo una delle possibili soluzioni).

    Per quanto riguarda la classe Catalogo, condivido la scelta della sua introduzione.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    88
    Grazie mille!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    88
    Ma se io tipo volessi creare questo catalogo e tipo inserire i prodotti che mi servono, quando chiudo e riapro il programma come posso fare per fare in modo che tutto resti salvato? Salvo su file?

  5. #5
    Originariamente inviato da j_ax31
    Ma se io tipo volessi creare questo catalogo e tipo inserire i prodotti che mi servono, quando chiudo e riapro il programma come posso fare per fare in modo che tutto resti salvato? Salvo su file?
    Gli approcci tipici sono 2:
    - l'uso del filesystem
    - l'uso di un database.

    Dalla tua domanda capisco che non sei vincolato da scelte progettuali, quindi ti consiglio di percorrere la strada che ti è più congeniale.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    88
    Si preferisco usare il fileSystem per questione di tempo...anche se tutto diventa un po più complicato quando devo eliminare un articolo dal catalogo perchè lo leggo da file ma poi? Non credo la lista mi servi più in questi casi cmq.

  7. #7
    Originariamente inviato da j_ax31
    Si preferisco usare il fileSystem per questione di tempo...anche se tutto diventa un po più complicato quando devo eliminare un articolo dal catalogo perchè lo leggo da file ma poi? Non credo la lista mi servi più in questi casi cmq.
    Di quale lista parli?

    Visto che hai scelto di usare il filesystem, ora non ti resta altro che decidere come salvare/leggere i dati del tuo catalogo, poi dovresti definire una classe che gestisce la scrittura e la lettura di tali dati.

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Originariamente inviato da j_ax31
    Si preferisco usare il fileSystem per questione di tempo...anche se tutto diventa un po più complicato quando devo eliminare un articolo dal catalogo perchè lo leggo da file ma poi? Non credo la lista mi servi più in questi casi cmq.
    Leggi, salvi in una struttura dati, rimuovi/aggiungi quello che vuoi, scrivi di nuovo su file.
    L'ArrayList è la lista più semplice, e se non hai esigenze di sincronizzazione va benissimo anche per quando farai I/O...

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    88
    Ma è possibile prendere il contenuto di un file e mostrarlo in un Jframe? Perchè io dovrei mostrare il catalogo, e i prodotto sono salvati su file, come potrei fare ?

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Originariamente inviato da j_ax31
    Ma è possibile prendere il contenuto di un file e mostrarlo in un Jframe? Perchè io dovrei mostrare il catalogo, e i prodotto sono salvati su file, come potrei fare ?
    Se non dici esattamente come vuoi visualizzarli e che tipo di dati sono è impossibile aiutarti.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.