Bonjour à vous,
j'aimerais à partir d'une classe main lancer une méthode appartenant à une classe distante.
Dans la méthode, j'instancie un objet dont le constructeur est encore dans une autre classe et je le met dans un tableau, mais cela marche pas : erreur de compilation "java.lang.nullpointerexception".
Avec des recherches, j'ai trouvé que ce message d'erreur apparait quand on instancie pas un objet avec "new", pourtant je l'ai fait pour ma part.
sans la clause "try" dans la methode srcEnregistrerMembre de la classe Cineclub, j'ai deux erreur lors de l'exécution de test.java
okException in thread "main" java.lang.NullPointerException
at Cineclub.srcEnregistrerMembre(Cineclub.java:22)
at test.main(test.java:6)
Avec la clause "try" j'obtient cela :
ok
Exception capturÚe: null
Voici les 3 classes, elles sont assez courtes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 class test { public static void main(String args[]){ Cineclub cine1 = new Cineclub(1,"MEGA"); // j'ai bien instancié l'objet cine1 cine1.srcEnregistrerMembre(); }}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 public class Cineclub{ Membre membres[]; int nbrMembres = 0; int numero; String nom; //le constructeur public Cineclub (int id, String nomCine){ nom=nomCine; numero=id; } //la méthode qui pose un problème public void srcEnregistrerMembre(){ try{ System.out.print("ok"); membres[nbrMembres++] = new Membre ("francis","Alexandre",6,10); System.out.println(membres[1].nom); // rien ne s'affiche } catch (Exception e) { System.out.println("Exception capturée: " + e.getMessage()); } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 public class Membre{ public String nom, prenom; public int categorie; public int nb_films_vus; public int nbstat=0; public Membre (String n, String pre, int cat, int nb_films){ nom=n; prenom=pre; categorie=cat; nb_films_vus=nb_films; } public int srcafficherstats(){ return nbstat; } }
Je suis bloqué sur ce problème, ce serait sympa si vous pouviez m'aider.
Merci d'avance.
Partager