Problème accès méthode constructeur Java

El_pro Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
tksteph Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un problème d'accès de mon Main à une méthode d'un constructeur (ArrayList) lui même situé dans un autre constructeur

J'ai resumé mon code : j'ai 2 classes (Liste et Main)


public class Main { 

public static void main(String args[]){ 

Liste l = new Liste();    // Création de "l" à partir du constructeur "Liste" 
l.addtour(?);             // Problème : que faut-il écrire comme paramètre "?" 

   } 
} 

----- 

public class Liste { 
int nbtour; 

Liste(){ 
    ArrayList<Object> list = new ArrayList<Object>();    // Création de "list" à partir  
 }                                                       //  d'ArrayList 

public void addTour(ArrayList<Object> list){             // Exemple de méthode 
    list.add(nbtour); 
   } 
}


Comment puis-je lancer la méthode ci-dessus affectant "list" depuis le Main ?

Merci d'avance.
A voir également:

1 réponse

tksteph Messages postés 204 Date d'inscription   Statut Membre Dernière intervention   25
 
Bonjour,

Si tu me permet de modifier un peu to code en espérant que c'est ce que tu souhaite faire.


public class Main {

public static void main(String args[]){
Liste l = new Liste(); // Création de "l" à partir du constructeur "Liste"
ArrayList<Object> liste2 = new ArrayList<Object>();
l.addTour(liste2);// Au vu de la méthode que tu as crée plus bas, tu lui passe
//une ArrayList
}
}


public class Liste{
int nbtour ;

Liste(){
ArrayList<Object> list = new ArrayList<Object>(); //NE SERT A RIEN
}

public void addTour(ArrayList<Object> list){ // Exemple de méthode
list.add(nbtour); // Ajoute nbtour à l'objet list passé en paramètre
}
}



Pour executer le code tu pourras avoir besoin d'initialiser la valeur de nbtour (Pour controller quelle valeur tu rajoutes à ta liste)

Ainsi A la sortie de ton programme, la liste2 se verra augmenté d'une valeur nbtour.

RQUE: Dans le constructeur de Liste(), la création de list ne te sert absolument à rien vu que tu ne l'utilises pas.
Si toutefois c'est dans cette liste que tu souhaite ajouter nbtour , alors dans ce cas tu dois la déclarer à l'extérieure du constructeur et l'initialiser à l'intérieure/exterieure. puis y accéder grace à un accesseur (getList()) et c'est elle que tu passes en paramètre à addTour(?) dans ton Main grace à: addTour(l.getList())


J'espère avoir répondu à tes préocupations.
0