Problème sur lancement distant de méthode
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:
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:
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:
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.