Tableau et classe en java

Résolu/Fermé
devDeb - 14 déc. 2008 à 01:31
 ba Issa - 10 déc. 2013 à 20:24
Bonjour,
Je suis débutant en java et je voudrais créer un tableau de structure. Je souhaite d'abord saisir toutes les infos sur une personne, mais j'ai cette erreur: java.lang.NullPointerException
Je ne comprends pas d'où vient le problème.

package exercicetableau;
import java.util.*;
public class Main {

public static class TPersonne{
String nom;
int age;
String ville;

}
public static void main(String[] args) {
Scanner clavier=new Scanner(System.in);
TPersonne unePersonne=new TPersonne();
TPersonne lesPersonnes[]=new TPersonne[10];
for(int i=0;i<9;i++){
lesPersonnes[i]=null;
}

for(int i=0;i<3;i++){
lesPersonnes[i].nom=clavier.next();
lesPersonnes[i].ville=clavier.next();
lesPersonnes[i].age=clavier.nextInt();
}
}

}

4 réponses

kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 524
14 déc. 2008 à 01:51
Au lieu de faire ça:
for(int i=0;i<9;i++){
    lesPersonnes[i]=null;
} 

il suffit de faire ça:
for(int i=0;i<9;i++){
    lesPersonnes[i]= new TPersonne();
} 
;-)
1
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 524
14 déc. 2008 à 01:40
Salut,

Il faut que tu instancie un TPersonne dans chacune des cases de ton tableau de TPersonne. Tu n'as fait qu'allouer
un tableau, pas les objets qui sont dedans.
0
Merci de ta rapidité. Je ne suis pas sur de comprendre, comment faire pour instancier toute les cases?
0
Ah d'accord je comprends mieux, merci beaucoup kilian, je bloquait dessus depuis un certain temps.
Encore merci
0
desolé
0