Codice: Seleziona tutto
public class Rubrica
{
private Persona persona[];
public void creaPagine()
{
persona = new Persona[5];
}
public void Cerca(String n, int tipo)
{
for (int i=0; i<5; i++)
{
if (persona[i].getCognome() == n)
{
System.out.println(this.persona[i].getNome());
System.out.println(this.persona[i].getCognome());
System.out.println(this.persona[i].getIndirizzo());
}
}
}
public void setNome(int x, String n)
{
System.out.println("Settando " + x + "a " + n);
persona[x].setNome(n);
}
public void setCognome(int x, String n)
{
persona[x].setCognome(n);
}
public void setIndirizzo(int x, String n)
{
persona[x].setIndirizzo(n);
}
}
Codice: Seleziona tutto
public class Principale
{
public static void main(String[] args)
{
Rubrica rubrica = new Rubrica();
rubrica.creaPagine();
rubrica.setNome(0, "Luca");
/*
rubrica.setCognome(0, "Rossi");
rubrica.setNome(1, "aaa");
rubrica.setCognome(1, "bb");
rubrica.setNome(2, "aaa");
rubrica.setCognome(2, "bb");
rubrica.setNome(3, "aaa");
rubrica.setCognome(3, "bb");
rubrica.setNome(4, "aaa");
rubrica.setCognome(4, "bb");
System.out.println("Inserisci per 0 per nome , 1 per cognome, 2 per indirizzo");
rubrica.Cerca("Luca", 0);
*/
}
}
Exception in thread "main" java.lang.NullPointerException
at Rubrica.setNome(Rubrica.java:27)
at Principale.main(Principale.java:9)
Come vedete il metodo rubrica.creaPagine(); istanzia il vettore persona che poi viene modificato da rubrica.setNome(0, "Luca"); quindi non capisco perche' mi da' questo errore.Idee?