|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Feb 2008
Messaggi: 8
|
[JAVA] problemino nullPointerException
salve a tutti vorrei cortesemente sapere come mai non riesco a stampare a video il contenuto di un array di oggetti xche incappo sempre in un nullPointerException.
Riporto qua sotto le due classi : CLASSE MIOSOGGETTO public class MioSoggetto { private String cognome; private String nome; private String luogoNascita; private String dataNascita; //metodi get public String getCognome() { return cognome; } public String getNome() { return nome; } public String getLuogoNascita() { return luogoNascita; } public String getDataNascita() { return dataNascita; } //metodi set public void setCognome(String cognome) { this.cognome = cognome; } public void setNome(String nome) { this.nome = nome; } public void setLuogoNascita(String luogoNascita) { this.luogoNascita = luogoNascita; } public void setDataNascita(String dataNascita) { this.dataNascita = dataNascita; } CLASSE MAIN MioSoggetto [] mioSoggetto = new MioSoggetto[5]; mioSoggetto[0].setCognome("Rossi"); mioSoggetto[0].setNome("Paolo"); mioSoggetto[0].setLuogoNascita("Torino"); mioSoggetto[0].setDataNascita("16/10/1978"); mioSoggetto[1].setCognome("Granieri"); mioSoggetto[1].setNome("Manuela"); mioSoggetto[1].setLuogoNascita("Roma"); mioSoggetto[1].setDataNascita("08/09/1980"); mioSoggetto[2].setCognome("Moro"); mioSoggetto[2].setNome("Tommaso"); mioSoggetto[2].setLuogoNascita("Ivrea"); mioSoggetto[2].setDataNascita("11/12/1969"); mioSoggetto[3].setCognome("Giuliano"); mioSoggetto[3].setNome("Salvatore"); mioSoggetto[3].setLuogoNascita("Secondigliano"); mioSoggetto[3].setDataNascita("04/12/1971"); mioSoggetto[4].setCognome("Riina"); mioSoggetto[4].setNome("Salvatore"); mioSoggetto[4].setLuogoNascita("Corleone"); mioSoggetto[4].setDataNascita("05/07/1941"); //SE VOLESSI STAMPARE IL COGNOME DELLA POSIZIONE ZERO VA IN ERRORE System.out.println (mioSoggetto[0].getCognome); } SE QUALCUNO HA TEMPO... GRAZIE MILLE |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Ciao,
MioSoggetto [] mioSoggetto = new MioSoggetto[5]; alloca l'array ma non il singolo oggetto, non e' come C++! Dopo aver eseguito questa istruzione, devi allocare il singolo oggetto, magari usando un codice simile a questo: Codice:
for (int i = 0; i < mioSoggetto.length; i++) mioSoggetto[i] = new MioSoggetto ();
__________________
In God we trust; all others bring data |
|
|
|
|
|
#3 | |
|
Junior Member
Iscritto dal: Feb 2008
Messaggi: 8
|
Quote:
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
|
Già che ci sei, per comodità potresti implementare nella classe MioSoggetto un costruttore che prende in ingresso i parametri che setti con i metodi getter/setter :
Codice:
...
public class MioSoggetto {
// dichiarazione esplicita costruttore di default: se dichiari altri costruttori
// ma vuoi comunque poter usare quello di default allora devi esplicitarlo
public MioSoggetto() {}
// dichiarazione costruttore con parametri, per comodità
public MioSoggetto(String cogn, String nom, String lnasc, String dnasc) {
cognome = cogn;
nome = nom;
luogoNascita = lnasc;
dataNascita = dnasc;
}
}
Codice:
...
mioSoggetto[0] = new MioSoggetto();
mioSoggetto[0].setCognome("Rossi");
mioSoggetto[0].setNome("Paolo");
mioSoggetto[0].setLuogoNascita("Torino");
mioSoggetto[0].setDataNascita("16/10/1978");
...
Codice:
...
mioSoggetto[0] = new MioSoggetto("Francesco", "Baro", "Padova", "08/06/1979");
...
|
|
|
|
|
|
#5 | |
|
Junior Member
Iscritto dal: Feb 2008
Messaggi: 8
|
Quote:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:35.




















