Problème accès méthode constructeur Java

Fermé
El_pro Messages postés 1 Date d'inscription mercredi 8 mai 2013 Statut Membre Dernière intervention 8 mai 2013 - Modifié par El_pro le 9/05/2013 à 10:46
tksteph Messages postés 204 Date d'inscription samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 - 11 mai 2013 à 03:49
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 samedi 20 mars 2010 Statut Membre Dernière intervention 3 janvier 2018 25
11 mai 2013 à 03:49
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