IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Utilisation de Split


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    En recherche d’emploi
    Inscrit en
    Février 2014
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : En recherche d’emploi

    Informations forums :
    Inscription : Février 2014
    Messages : 62
    Points : 36
    Points
    36
    Par défaut Utilisation de Split
    Bonjour,

    J'aimerais faire un retour de mon tableau après lecture du fichier file.txt contenant une matrice 3*3

    1 2 3
    4 5 6
    7 8 9

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public String[] maMethode()
    {	
             BufferedReader buff = new BufferedReader(new FileReader("file.txt"));
             String str;
             String[] mots = null ;
     
    	 while((str = buff.readLine()) != null)
    		 mots = str.split(" ") ;
     
    	return mots;
    }
    Pour l'appel je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    String tab[];
     
    tab = nav.maMethode();
     
    for(int i=0; i<tab.length; i++)
        System.out.println(tab[i]);
    Ceci ne m'affiche que la dernière ligne i.e les valeurs 789.

    Peut-être que j'ai mal compris l'utilisation du Split.

    Cela fait un bon moment que je suis dessus. Si quelqu'un a une proposition.

    Merci.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ben, split() sert à découper une String là où il ya des espaces et à donner toutes les String obtenues.
    Il ne s'occupe pas de changer quelque chose à la variable tableau à laquelle tu l'affectes.

    Puisque tu fais mots = TRUC; à chaque ligne, ça veut dire qu'à chaque ligne, tu oublies le travail que tu avais fait jusque-là, et tu remplaces par la ligne en cours.
    Il faudrait que tu ajoutes les données de chaque ligne, pas que tu remplaces.

    Pour faire ça, il faudrait ceci :
    - Une List<String> au lieu d'un tableau, dans laquelle mettre les mots. Comme ça tu as pas besoin de connaître la taille finale.
    - Un Scanner au lieu d'un BufferedReader. Comme ça, tu as pas besoin de gérer séparément lignes et espaces, et donc pas besoin de split(). Le Scanner lira chaque mot séparément.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    En recherche d’emploi
    Inscrit en
    Février 2014
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : En recherche d’emploi

    Informations forums :
    Inscription : Février 2014
    Messages : 62
    Points : 36
    Points
    36
    Par défaut
    Merci pour ton aide et pour l'explication.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 212
    Points : 146
    Points
    146
    Par défaut
    Bonjour,

    Peut être que le StringTokenizer pourrait t’intéresser.

    http://docs.oracle.com/javase/7/docs...Tokenizer.html

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Quel intérêt par rapport à split() ou un Scanner ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 212
    Points : 146
    Points
    146
    Par défaut
    Par rapport à split, pas besoins de connaitre le nombre d'espace entrer les mots.

    Mais effectivement je n'avais pas fais attention aux possibilités de Scanner

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par 6su7 Voir le message
    Par rapport à split, pas besoins de connaitre le nombre d'espace entrer les mots.
    En même temps, avec split() non plus.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utilisation sort, split, foreach besoins d'aide
    Par jameson dans le forum Programmation et administration système
    Réponses: 1
    Dernier message: 14/04/2009, 09h02
  2. Utilisation de split()
    Par lollipop69 dans le forum VB.NET
    Réponses: 3
    Dernier message: 17/02/2009, 00h57
  3. Conserver le motif utiliser dans split()?
    Par VinnieMc dans le forum Langage
    Réponses: 9
    Dernier message: 15/05/2007, 11h59
  4. probleme utilisation fonction split
    Par Lnmex dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/07/2006, 16h40
  5. [langage] utilisation de 'split'
    Par mimilou dans le forum Langage
    Réponses: 9
    Dernier message: 24/02/2004, 13h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo