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 :

For each fonctionnement


Sujet :

avec Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Points : 67
    Points
    67
    Par défaut For each fonctionnement
    comment mettre ça en for each
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (Iterator iter = list.iterator(); iter.hasNext();)
          {
           String  val= (String)iter.next().toString();
            System.out.println(val);
            test.print(val);

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(String val: list){
    ......
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Points : 67
    Points
    67
    Par défaut
    je te remercie, pourrais tu m'expliquer un peu plus merci.

    J'ai deja regarder la doc java mais je comprend pas.

  4. #4
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    c'est simple:

    on peut utiliser le for each sur toutes les instances implémentant Iterable (les Set, les List, les tableaux, ...)

    on écrit le type des éléments contenus dans l'objet à parcourir, puis la variable qui sera modifiée à chaque itération, puis ":", puis l'objet à parcourir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String strings = new String[]{"a", "b", "c"};
    for (String s:strings)
        System.out.println(s); // écrira a, b, c

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Points : 67
    Points
    67
    Par défaut
    voila j'ai fait ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    List<TEST> list = testFacade.findAll();
    for (TEST val : list){
            System.out.println(val)
               }
    ça me semble bon, mais quand je lance
    j'ai ça

    type Exception report

    message

    descriptionThe server encountered an internal error () that prevented it from fulfilling this request.

    exception

    javax.ejb.EJBException
    note The full stack traces of the exception and its root causes are available in the GlassFish v3 logs.

  6. #6
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    le problème est ailleurs, je ne pense pas que cela soit la boucle qui soit en cause.

    quand ça parle de EJBException, généralement c'est un peu plus tordu qu'une boucle


  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Points : 67
    Points
    67
    Par défaut
    je pense aussi je recherche je recherche je vous tiens au courant merci a vous bonne journée

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Points : 67
    Points
    67
    Par défaut
    Bon en faite j'avais juste oublié de démarrer le serveur apache et mysql grosse grosse erreur lol.

    maintenant j'affiche bien mais le seule problème c'est que j'ai qu'une valeur alors qu'il devrais avoir 3 valeurs.

    Des idées?

  9. #9
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    ... faire un "System.out.println(list.size())" juste en dessus de la boucle, et constater qu'elle n'en a qu'une seule...

    à voir maintenant comment cette liste est construite...

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Points : 67
    Points
    67
    Par défaut
    je recupere bien la valeur de 3.

    En faite je met dans cette list des valeurs prisent dans une table de base de données.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Points : 67
    Points
    67
    Par défaut
    bon en faite j'avais déjà test mais ça fonctionné pas

    mais maintenant oui pourquoi je sais pas.

    test.print(val.get...

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Points : 67
    Points
    67
    Par défaut
    Bon en faite pas tout a fait résolu, j'ai bien ma liste il y a plusieurs enregistrements dedans 3 lignes pour le moment.

    le seul problème, c'est que quand je fait mon for each, je n'arrive qu'a printer 1 seule ligne pourquoi??

  13. #13
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    on peut voir la méthode complète svp, sans modif de ta part ni tronquature?

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Points : 67
    Points
    67
    Par défaut
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
     
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.PrintStream;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import javax.ejb.EJB;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import requests.EmployeFacade;
    import requests.SalaireFacade;
     
     
     
    @WebServlet(name = "recupData", urlPatterns = {"/recupData"})
    public class RecupData extends HttpServlet {
     
        @EJB
        private EmployeFacade employeFacadee;
        @EJB
        private SalaireFacade salaireFacade;
     
     
        /**
         * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
         * @param request servlet request
         * @param response servlet response
         * @throws ServletException if a servlet-specific error occurs
         * @throws IOException if an I/O error occurs
         */
        protected void processRequest(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html;charset=UTF-8");
            PrintWriter affichageVal = response.getWriter();
     
     
            List<TEST> list = salaireFacade.findAll();
     
     
            {
     
                for (TEST val : list) {
                    System.out.println(val);
                    System.out.println(list.size());
                    affichageVal.print((val.getSal() + val.getNom());
                    affichageVal.close();
     
                }
     
     
    }

    voila en gros

  15. #15
    Membre éclairé Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Points : 676
    Points
    676
    Par défaut
    Bonjour,

    si tu clos le affichageVal dans la boucle le prochain write lèvera un IOEception et ne pourra rien afficher !!

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 226
    Points : 67
    Points
    67
    Par défaut
    Merci beaucoup en plus ça reste évident, encore une erreur de plus que je ne ferai plus.

    merci a vous tous.

    Je reste dispo pour expliquer le code.

    Bonne journée.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/08/2014, 08h14
  2. un For Each qui ne fonctionne pas avec une collection maison !
    Par grenouillesiverte dans le forum Windows Forms
    Réponses: 7
    Dernier message: 01/09/2007, 21h00
  3. Comment fonctionne le For Each ?
    Par Swiper dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 25/07/2007, 15h04
  4. utilisation de for each
    Par billoum dans le forum ASP
    Réponses: 5
    Dernier message: 19/03/2004, 15h30
  5. [VB6] For Each ... In ...
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/02/2003, 12h56

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