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 :

Problème avec une itération


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    eleve ingenieur
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : eleve ingenieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Par défaut Problème avec une itération
    Bonjour,

    J'ai un problème dans mon code source :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            String url1 ="http://www.google.tn/search?q="+text.toString()+"&hl=fr&sa=N&num=10&start=";
            String exp = "<h3 class=\"r\"><a href\\s*=\\s*(?:\"(?<1>[^\"]*)\"|(?<1>\\S+))";
            List <NameValuePair> nvps = null;
            Pattern myPattern = Pattern.compile(exp.toString(),Pattern.CASE_INSENSITIVE | Pattern.DOTALL | Pattern.MULTILINE);
            String chaine = GetHTML(url1,nvps);
     
            int pos_page = 0;
            CharSequence myStringList;
            for (Pattern Tag : myPattern.matcher(chaine))
    L'instruction suivante myPattern.matcher(chaine) affiche une erreur
    Can only iterate over an array or an instance of java.lang.Iterable
    Quelqu'un saurait-il m'expliquer d'où peut venir le problème ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de paissad
    Homme Profil pro
    Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Inscrit en
    Avril 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur de développement (Java/JEE/Eclipse RCP,EMF & webMethods)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 043
    Par défaut
    Bonjour,
    pour utiliser la façon foreach il faut que la seconde opérande soit soit un tableau, soit un objet qui implémente Iterable (d'ailleurs l'exception est très très explicite là dessus, y'avait qu'à googler un peu)
    donc ceci for (Pattern Tag : myPattern.matcher(chaine)) ne marchera pas car Pattern.matcher() retourne une instance d'objet de type Matcher ... et non un tableau ou un objet de type Iterable !
    La prochaine fois, cherches un peu sur le forum et/ou vas un tout petit peu sur et tapes l'exception et tu résoudras pleins de problèmes comme ça.
    Cordialement,
    Nous n'héritons pas de la terre de nos parents, nous l'empruntons à nos enfants.
    Le chat du site est aussi ici pour aider. Ne pas hésiter à visiter !

  3. #3
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myPattern.matcher(chaine)
    Renvoie un Matcher, et je ne suis pas certain que tu puisse faire une boucle for desssu en utilisant "Pattern"

    Par contre un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Pattern p = Pattern .compile("a*b|c");
    String entree = "aabbbcab";
    Matcher m = p.matcher(entree);
    while (m.find())
      System.out.println(entree.substring(m.start(), m.end()));
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Nouveau candidat au Club
    Homme Profil pro
    eleve ingenieur
    Inscrit en
    Juin 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : eleve ingenieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 2
    Par défaut aide
    D’accord si je veut convertir ce code en java

    string pattern = @"Console\.Write(Line)?";
    MatchCollection matches = Regex.Matches(input, pattern);
    foreach (Match match in matches)....

    et sur tout je veut utiliser foreach je suis débutant en java
    SVP aider moi.

Discussions similaires

  1. Problème avec une itération
    Par ayago dans le forum Général Java
    Réponses: 6
    Dernier message: 12/10/2011, 06h39
  2. [JBOSS] [Struts] Problème avec une application
    Par Tiercel dans le forum Wildfly/JBoss
    Réponses: 5
    Dernier message: 13/07/2004, 13h50
  3. Problème avec une instruction OUTER /Postgres
    Par Volcomix dans le forum Langage SQL
    Réponses: 14
    Dernier message: 21/04/2004, 16h56
  4. problème avec une requête imbriquée
    Par jaimepasteevy dans le forum Langage SQL
    Réponses: 13
    Dernier message: 05/12/2003, 10h29
  5. Problème avec une procédure stockée
    Par in dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/05/2003, 15h33

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