Visualizzazione dei risultati da 1 a 9 su 9

Visualizzazione discussione

  1. #1

    NullPointerException su un ArrayList anche se ho inizializzato

    Salve ragazzi, devo fare un progetto per un esame e ho un problema che non riesco proprio a capire il perché. Posto tutto e vi spiego:

    Costruttore:


    codice:
        public User(String nome, String username, String password, double saldo, ArrayList<Utilizzabile> cronologia){
            this.nome = nome;
            this.username = username;
            this.password = password;
            this.saldo = saldo;
            this.cronologia = cronologia;
            carrello = new ArrayList<>();
        }
    
    Metodo interessato:
    
        public double aggiungiAlCarrello(int ID){
            double totale = 0;
            for(int i=0; i<Admin.catalogo.size(); i++){
                
                if(Admin.catalogo.get(i) instanceof Viaggi){
                    Viaggi x = (Viaggi) Admin.catalogo.get(i);
                    if(x.getID() == ID){
                        carrello.add(x);
                        totale = totale+x.getPrezzo();
                    }
                }
                
                else if(Admin.catalogo.get(i) instanceof Ristoranti){
                    Ristoranti x = (Ristoranti) Admin.catalogo.get(i);
                    if(x.getID() == ID){
                        carrello.add(x);
                        totale = totale+x.getPrezzo();
                    }
                }
                
                else if(Admin.catalogo.get(i) instanceof Beni){
                    Beni x = (Beni) Admin.catalogo.get(i);
                    if(x.getID() == ID){
                        carrello.add(x);
                        totale = totale+x.getPrezzo();
                    }
                }
                
                else if(Admin.catalogo.get(i) instanceof PrestazioneOpera){
                    PrestazioneOpera x = (PrestazioneOpera) Admin.catalogo.get(i);
                    if(x.getID() == ID){
                        carrello.add(x);
                        totale = totale+x.getPrezzo();
                    }
                }
            }
            return totale;
        }

    In pratica mi genera l'eccezione NullPointerException quando uso l'istruzione carrello.add(x), ma non capisco perché dato che carrello l'ho inizializzato nel costruttore!

    Inoltre ho notato che non è problema dell'oggetto passato per parametro perché se inizializzo carrello all'interno del metodo funziona tutto perfettamente, però ovviamente il carrello viene ogni volta riscritto ad ogni aggiunta, data la continua inizializzazione ad ogni chiamata del metodo.

    Ragazzi aiutatemi che non riesco ad andare avanti ed è urgente! Se devo postare altro fatemi sapere. Grazie!
    Ultima modifica di LeleFT; 26-08-2014 a 17:19 Motivo: Aggiunti i tag CODE

Tag per questa discussione

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.