Problème retour tableau ArrayList

Résolu
Bonjour,

Je commence la programmation, je rencontre un problème avec une méthode. Eclipse m'indique que le type retour est absent pour la méthode. Je voudrais pourvoir avoir accès à mon tableau Vil mais je ne comprends pas comment effectuer mon retour. Si vous pouviez m'éclairer ça serait super sympa.
Voici le code :

import java.util.StringTokenizer;
import java.util.ArrayList;

public class Importation {
 
 public Charger(String listVille){

 TextFile tf = new TextFile(listVille);
 ArrayList <String> Vil = new ArrayList<String>();

  for(int i=0 ; i < tf.getSize(); i++ ){
 StringTokenizer st = new StringTokenizer(tf.getLine(i) , ";");

   while(st.hasMoreTokens()){
    Vil.add(st.nextToken());
    }
   return Vil;
   }
  }
 
 public static void main(String[] args){
  Importation imp = new Importation();
  imp.Charger("ville.dat");
  System.out.println(Vil.get(i));
 }
}

1 réponse

  1. Modérateur
    Bonjour,

    Comme tu peux le voir sur la méthode main, la description d'une méthode c'est, dans l'ordre :

    1) des mots clés (public, static) → optionnels
    2) un type de retour (void) → obligatoire
    3) le nom de la méthode (main) → obligatoire
    4) les arguments (String[]args) → optionnels
    5) les exceptions (tu n'en as pas ici) → optionnels

    Toi tu as
    public Charger(String listVille){

    C'est à dire 1 (public), 3 (Charger), 4 (String listeVille)
    Eclipse te dit qu'il manque 2 : le type de retour obligatoire

    Ici comme tu fait un
    return Vil;
    il faut que le type de retour soit de ce type, c'est à dire un ArrayList<String>

    Remarque : normalement les noms de méthodes commencent par une lettre minuscule, de même que les noms de variables.

    public ArrayList<String> charger(String listVille) {
        //...
        ArrayList<String> vil //...
        // ...
        return vil;
    }
    1. Merci de votre explication, j'avais jamais réussi a faire un retour correct. Je comprends mieux où était mon erreur, la même à chaque fois d'ailleurs.
      Merci encore bonne soirée !