Visualizzazione dei risultati da 1 a 6 su 6

Visualizzazione discussione

  1. #1

    [JAVA] java.lang.NullPointerException

    Buon pomeriggio a tutti.
    Ma a cosa è dovuta l'eccezione java.lang.NullPointerException?

    Vi posto il mio Gestore di due classi chiamate Cittadino e Presidente:

    import java.io.PrintStream;
    import java.util.ArrayList;
    import java.util.Scanner;






    public class Gestore
    {
    private ArrayList<Cittadino> cittadini;
    private ArrayList<Presidente> presidenti;

    public Gestore(Scanner scC, Scanner scP, Scanner scCP) throws CittadinoNotFoundException, PresidenteNotFoundException
    {
    ArrayList<Cittadino> cittadini = new ArrayList<Cittadino>();
    Cittadino c = Cittadino.read(scC);
    while(c!=null)
    {
    cittadini.add(c);
    c=Cittadino.read(scC);
    }

    ArrayList<Presidente> presidenti = new ArrayList<Presidente>();
    Presidente p = Presidente.read(scP);
    while(p!=null)
    {
    presidenti.add(p);
    p=Presidente.read(scP);
    }

    PresidenteCittadino prCi = PresidenteCittadino.read(scCP);
    while(prCi!=null)
    {
    Cittadino cit = this.searchCittadino(prCi.getCodiceFiscale());
    Presidente pr = this.searchPresidente(prCi.getMatricola());
    prCi.setCittadino(cit);
    prCi.setPresidente(pr);
    {
    if(cit!=null)
    {
    pr.addCittadino(cit);
    }
    if(pr!=null)
    {
    cit.setPresidente(pr);
    }
    }
    prCi=PresidenteCittadino.read(scCP);
    }
    }

    public Gestore(ArrayList<Cittadino> cit, ArrayList<Presidente> pr)
    {
    cittadini=cit;
    presidenti=pr;
    }


    public Cittadino searchCittadino(String codiceFiscale) throws CittadinoNotFoundException
    {
    boolean trovato = false;
    int i=0;
    Cittadino cittadino = null;
    while(trovato=false && i<cittadini.size())
    {
    if(cittadini.get(i).getCodiceFiscale().equalsIgnor eCase(codiceFiscale))
    {
    trovato = true;
    cittadino=cittadini.get(i);
    }
    else
    {
    i++;
    }
    }

    if(trovato=true)
    {
    return cittadino;
    }
    else
    {
    throw new CittadinoNotFoundException (codiceFiscale);
    }
    }

    public Presidente searchPresidente(String matricola) throws PresidenteNotFoundException
    {
    boolean trovato = false;
    int i = 0;
    Presidente pr = null;
    while(trovato = false &&i<presidenti.size())
    {
    if(presidenti.get(i).getMatricola().equalsIgnoreCa se(matricola))
    {
    trovato = true;
    pr=presidenti.get(i);
    }
    else
    {
    i++;
    }
    }
    if(trovato=true)
    {
    return pr;
    }
    else
    {
    throw new PresidenteNotFoundException(matricola);
    }
    }

    public Gestore filterByMatricola(String matricola)
    {
    ArrayList<Cittadino> cit = new ArrayList<Cittadino>();
    ArrayList<Presidente> pr = new ArrayList<Presidente>();

    boolean trovato = false;
    int i = 0;
    while(!trovato && i < presidenti.size())
    {
    if(presidenti.get(i).getMatricola().equalsIgnoreCa se(matricola))
    {
    pr.add(presidenti.get(i));
    for(Cittadino c : presidenti.get(i).getCittadini())
    {
    cit.add(c);
    }
    trovato = true;
    }
    }

    return new Gestore(cit, pr);

    }

    public void printCittadini(PrintStream pr)
    {
    //CODE
    for(Cittadino cit : this.cittadini)

    {
    cit.print(pr);
    }

    }

    public void printPresidenti(PrintStream pr)
    {
    for(Presidente p : this.presidenti)
    {
    p.print(pr);
    }
    }

    public void printAll(PrintStream pr)
    {
    CODE
    printCittadini(pr);
    printPresidenti(pr);
    }
    }


    Cliccano sul numero di riga che quell'eccezione mi indica, mi porta sul metodo 'printCittadini' e conseguentemente sul 'printAll'. Ma perchè? Probabilmente l'ArrayList<Cittadino> cittadini non viene riempito ma perchè?

    Grazie a tutti.
    Ultima modifica di RossellaEchelon; 23-05-2014 a 15:39

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.