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

Java Discussion :

fonction for en java


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2011
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 119
    Par défaut fonction for en java
    bonsoir
    j'ai un pb et je penses que c'est facile à résoudre ça mais je ne comprends pas pourquoi je n'arrives pas à le résoudre.
    en fait je veux faire une fonction qui permet de trouver un objet qui est dans mon cas une page Facebook en lui donnant son identifiant.
    voici le code que j'ai fait normalement il manque quelque chose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public PageFacebook trouverPage(PageFacebook p,int id){
    		for(int i=0;i<p.getAmis().size();i++){
    			PageFacebook amiDeMonAmi=p.getAmis().get(i);
    			if(amiDeMonAmi.getIdPage()==id){
     
    			}
    		}
    		return amiDeMonAmi;
    	}

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    1- amiDeMonAmi n'est visible que dans la boucle for, donc quand tu faits return, il n'est plus visible --> erreur de compilation.
    2- la méthode get n'est pas la meilleur façon de parcourir une List, utilise son iterator ou un for-each.

    A+.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2009
    Messages : 44
    Par défaut
    Ca, ca marche mais ça prend pas trop en compte le cas ou la page n'a pas été trouvée, pour ça, je te laisse chercher.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public PageFacebook trouverPage(PageFacebook p,int id){
    		PageFacebook amiDeMonAmi = null;
    		for(int i=0;i<p.getAmis().size();i++){
    			amiDeMonAmi=p.getAmis().get(i);
    			if(amiDeMonAmi.getIdPage()==id){
     
    			}
    		}
    		return amiDeMonAmi;
    	}

  4. #4
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Ben si getAmis() retourne un List, utiliser get() pour le parcourir n'est pas la meilleur façon.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for(PageFacebook pfb : p.getAmis()){
    	amiDeMonAmi=pfb;
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for(Iterator<PageFacebook> iterator = p.getAmis().iterator(); iterator.hasNext(); ){
    	amiDeMonAmi=iterator.next();
    A+.

  5. #5
    Membre émérite Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for(PageFacebook pfb : p.getAmis()){
    	amiDeMonAmi=pfb;
    Pourquoi pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(PageFacebook amiDeMonAmi : p.getAmis()){
    ??

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par BenWillard Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for(PageFacebook pfb : p.getAmis()){
    	amiDeMonAmi=pfb;
    Pourquoi pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for(PageFacebook amiDeMonAmi : p.getAmis()){
    ??
    Parce qu'il doit retourner un objet, et l'élément déclarer dans la boucle for n'est visible qu'à l'intérieur de for. Si amiDeMonAmi est déclaré avant la boucle for, tu ne peux la redéclarer avec for(PageFacebook amiDeMonAmi.



    Tu auras une erreur de compilation.

    A+.

  7. #7
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par Huitzilopochtli Voir le message
    Ca, ca marche mais ça prend pas trop en compte le cas ou la page n'a pas été trouvée, pour ça, je te laisse chercher.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public PageFacebook trouverPage(PageFacebook p,int id){
    		PageFacebook amiDeMonAmi = null;
    		for(int i=0;i<p.getAmis().size();i++){
    			amiDeMonAmi=p.getAmis().get(i);
    			if(amiDeMonAmi.getIdPage()==id){
     
    			}
    		}
    		return amiDeMonAmi;
    	}
    C'est faux, ça va toujours retourner le dernier ami de la liste.

    A+.

  8. #8
    Membre émérite Avatar de JoeChip
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    536
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 536
    Par défaut
    Mais je ne suis pas très fan de l'utilisation de plusieur return dans une fonction.
    Non mais là ça simplifie les choses, tout en rendant le code plus performant, on aurait tort de se priver...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for(PageFacebook amiDeMonAmi : p.getAmis())
         if(amiDeMonAmi.getIdPage()==id) return amiDeMonAmi;
    return null;

  9. #9
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par BenWillard Voir le message
    Non mais là ça simplifie les choses, tout en rendant le code plus performant, on aurait tort de se priver...
    en mettant seulement un break dans le boucle for, la différence de performance ne serait qu'un millième de seconde.
    En fait, je n'utilise qu'un seul return quand on veut retourner un objet dans une fonction pour une meilleur lisibilité de code.

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

Discussions similaires

  1. [Système] fonction exec() avec Java
    Par alexK73 dans le forum Langage
    Réponses: 4
    Dernier message: 11/04/2007, 17h21
  2. Fonction de fermeture java
    Par naima2005 dans le forum Général Java
    Réponses: 11
    Dernier message: 25/05/2006, 19h08
  3. Fonction eval en java ?
    Par ramislebob dans le forum Langage
    Réponses: 2
    Dernier message: 12/01/2006, 00h22
  4. [Info] Appeler une fonction Ada95 depuis Java
    Par mmathieu dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 15/09/2005, 09h42
  5. fonction for each key .......
    Par trialrofr dans le forum ASP
    Réponses: 13
    Dernier message: 10/01/2005, 14h29

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