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

Collection et Stream Java Discussion :

[Tableau]Déclaration


Sujet :

Collection et Stream Java

  1. #1
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut [Tableau]Déclaration
    Salut,

    Je voudrais déclarer un tableau mais je ne connais pas la longueur de celui ci comment faire à part mettre un truc du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String[] monTableau = new String[10000];
    voila le code dans lequel j'utilse mon tableau

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    while((ligne=IN.readLine())!=null){
    		    		Matcher résultats=regex.matcher(ligne);
    		    		while(résultats.find()){
    		    			t++;
    		    					    			//String[] link = test.substring(5,13);
    		    			System.out.println(résultats.group().substring(5,13));
     
    		    		}
    		    	}
    merci

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 220
    Points : 266
    Points
    266
    Par défaut
    Si tu ne connais pas la longueur, tu aurais peut etre intéret a regarder les objets implémentant l'interface List, dont la taille peut varier sans redéfinition globale de l'objet...

    Regarde ArrayList, et la vieille classe Vector notamment...

  3. #3
    Membre confirmé
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2002
    Messages : 428
    Points : 630
    Points
    630
    Par défaut
    Citation Envoyé par ghorgor
    Regarde ArrayList, et la vieille classe Vector notamment...
    Si je puis me permettre, il vaut mieux éviter le Vector...
    Glob
    What would you do if you were not afraid?

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  4. #4
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut
    Enb fait ce que je veux c'est mettre les résultats de "résultats.group()" dans un tableau c'est possible non ?

    Je n'y arrives pas car il me donne une erreur d'incompatibilité de type String[] String

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 220
    Points : 266
    Points
    266
    Par défaut
    Si je puis me permettre, il vaut mieux éviter le Vector
    C'est pour ca que j'ai dit vieille...

    Je sais qu'elle est pratiquement deprecated, mais j'avoue que je l'utilise depuis longtemps et que j'ai pas mal de vieilles applis qui tournent avec...

    Je n'y arrives pas car il me donne une erreur d'incompatibilité de type String[] String
    On peut voir :

    - le bout de code ou ca plante
    - le message d'erreur

    ?

    Ca aiderait je pense...

    Ton resultat.group() te renvoie un String[] ?

    Si c'est le cas, tu ne peux pas utiliser substring directement sur un tableau, tu ne peut le faire que sur un element de ton tableau, genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String[] MonTableauDeString = resultat.group();
    MonTableauDeString[0].substring(5,13);
    Pour avoir l'extraction sur le premier element du tableau...

  6. #6
    Membre confirmé
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2002
    Messages : 428
    Points : 630
    Points
    630
    Par défaut
    Citation Envoyé par Hoegaarden
    Je n'y arrives pas car il me donne une erreur d'incompatibilité de type String[] String
    Hello.
    Peux-tu nous fournir (entre autres...) la ligne qui pose problème ainsi qu'un copier/coller du message d'erreur/exception?

    Merci.
    Glob
    What would you do if you were not afraid?

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  7. #7
    Membre habitué Avatar de Hoegaarden
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    362
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2004
    Messages : 362
    Points : 175
    Points
    175
    Par défaut
    non mon résultats.group() ne me renvoie pas un String[] mais un String
    Donc je ne peux pas le mettre dans un tableau qui est de type String[] (incompatibilité de type).

    Le code ne s'execute meme pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     for(int i=0; i<dirContent.length; i++)	{
    		    	String ligne;
    		    	//String[] link = new String[];
    		    	f = dirContent[i].toString();
    		    	String modele2 = "ref=\"\\d{8}";
    		    	Pattern regex=Pattern.compile(modele2);
    		    	BufferedReader IN=null;
    		    	IN=new BufferedReader(new FileReader(new File(f)));
    		    	while((ligne=IN.readLine())!=null){
    		    		Matcher résultats=regex.matcher(ligne);
    		    		while(résultats.find()){
    		    			t++;
    		    			String[] MonTableauDeString = résultats.group(); 
    		    			MonTableauDeString[t].substring(5,13);
    		    			System.out.println(résultats.group().substring(5,13));
     
    		    		}
    		    	}
    		    }
    Erreur sur String[] MonTableauDeString = résultats.group();
    "Type mismatch: cannot convert from String to String[]"

  8. #8
    Membre confirmé
    Avatar de Glob
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Avril 2002
    Messages
    428
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Avril 2002
    Messages : 428
    Points : 630
    Points
    630
    Par défaut
    Hello.
    Avant de plonger plus avant dans le problème, on peut se rendre compte que la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonTableauDeString[t].substring(5,13);
    ne sert à rien. Explications dans la javadoc.

    Ensuite, ce que tu peux faire, c'est déclarer un ArrayList avant ta boucle, et remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String[] MonTableauDeString = résultats.group();
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monArrayList.add(résultats.group());
    Après ta boucle, tu peux récupérer (si tu en as vraiment besoin sous cette forme), un tableau en utilisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monArrayList.toArray();
    Glob
    What would you do if you were not afraid?

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

Discussions similaires

  1. trier un tableau et compter des elements du tableau
    Par remi51 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 17/06/2002, 16h51
  2. Réponses: 2
    Dernier message: 27/05/2002, 19h46
  3. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 12h21
  4. transmision de tableau en parametre
    Par Horus dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/05/2002, 11h15
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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