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 :

[debutant] methode booleen equivalence


Sujet :

avec Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut [debutant] methode booleen equivalence
    Salut à tous!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    booleen void coincide(Point p) { return ((p.x==this.x)&&(p.y==this.y));}
    est ce que c'est equivalent à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    booleen void coincide(Point p) { if ((p.x==this.x)&&(p.y==this.y)) return true;}
    En fait le premier compile mais le deuxième ne compile pas.Je crois que c'est equivalent, pas vous?

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 380
    Points : 480
    Points
    480
    Par défaut
    Bonjour,

    Effectivement c'est presque équivelant.
    Dans le premier cas, si le test est vrai la méthode renvoie true, sinon false.
    Dans le deuxième cas, si le test est vrai la méthode renvoie true, si le test est faux, la méthode ne retourne rien, ce qui déclenche une erreur de compilation. Il manque donc un
    à la fin de la deuxième méthode.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    ok je vais le verifier tout à l'heure!!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    OUi ça marche bien.Est ce que je pourrais avoir plus amples informations sur return dans une methode.N'y a-t'il pas un cours pour ça?
    Juste une précison: j'ai mis des void à tort sur mes methodes puisqu'il y a return.

  5. #5
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Tutoriaux Java pour débutants : ça y est expliqué... http://java.developpez.com/cours/
    Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
    Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
    Mes articles et tutoriaux & Mon blog informatique

  6. #6
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 380
    Points : 480
    Points
    480
    Par défaut
    Effectivement il faut préciser le type de retour de la méthode, je n'avais pas vu ce problème.

    en fait ton problème est simple, lorsqu'une méthode retourne quelque chose, il faut que dans tout les cas elle puisse retourner ce quelque chose.

    Dans ton cas, lorsque la condition de ton if, n'est pas correcte rien n'est retourné. Alors que la méthode DOIT retourner un booléen. La compilation ne peut donc pas avoir lieu.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    En fait si je comprends bien, quand on a
    if(expression) return;il faut qu'il y ait aussi un else(......)return;

  8. #8
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 380
    Points : 480
    Points
    480
    Par défaut
    Citation Envoyé par Javamar Voir le message
    En fait si je comprends bien, quand on a
    if(expression) return;il faut qu'il y ait aussi un else(......)return;
    Oui, c'est ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(condition) {
       return true;
    } else {
       return false;
    }
    On peut aussi écrire (certaines personnes n'aiment pas!!)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(condition) {
       return true;
    }
    return false;
    au niveau exécution, c'est la même chose: on retourne true si la condition est vrai, et false dans tout les autres cas (uniquement condition fausse, parce que l'on est pas rentré dans le if).

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    Merci beaucoup eric, ton aide a été précieuse! passes une bonne journée!à la prochaine

  10. #10
    Membre habitué Avatar de jean.2edi
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 106
    Points : 131
    Points
    131
    Par défaut
    Une petite remarque sur l'écriture :
    Le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(condition) {
      return true;
    }
    return false;
    n'est pas très lisible par rapport à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(condition) {
      return true;
    } else {
      return false;
    }
    Mais ce code est surtout verbeux inutilement : on voit même des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(condition == true) {
      return true;
    } else {
      return false;
    }
    alors que la logique de ta fonction est bien de retourner la condition pour que 2 points coïncident :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public boolean coincide(Point p) {
      return p.x==this.x && p.y==this.y;
    }
    Voir les cours sur la surcharge de equals()...

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 133
    Points : 64
    Points
    64
    Par défaut
    Encore merci pour tous ceux qui ont contribué à cette question!

  12. #12
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    juste une question :dans ton code

    Citation Envoyé par Javamar Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    booleen void coincide(Point p)
    comment tu peux avoir une méthode qui retourne a la fois un booleen et un void ?? tu es sur que ca a marché tel quel ??
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  13. #13
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Points : 2 501
    Points
    2 501
    Par défaut
    Citation Envoyé par sovo Voir le message
    juste une question :dans ton code



    comment tu peux avoir une méthode qui retourne a la fois un booleen et un void ?? tu es sur que ca a marché tel quel ??
    Dejà booleen n'existe pas en java. Aussi, peut etre que dans la prochaine version de java, il serait possible qu'une fonction retourne deux valeurs

Discussions similaires

  1. [Debutant] Methodes de persistance des données ?
    Par Hesiode dans le forum Persistance des données
    Réponses: 3
    Dernier message: 22/01/2008, 09h48
  2. [debutant]methode des k_means
    Par diana82 dans le forum Traitement d'images
    Réponses: 3
    Dernier message: 08/07/2007, 21h17
  3. [DEBUTANT]methode manquante dans ma classe ?
    Par Battosaiii dans le forum Débuter
    Réponses: 3
    Dernier message: 25/08/2006, 11h56
  4. debutant methodes
    Par cubepiege dans le forum Langage
    Réponses: 3
    Dernier message: 06/03/2006, 12h36
  5. [C#] Question de debutant: methode "parent&quo
    Par bflash2k dans le forum Windows Forms
    Réponses: 8
    Dernier message: 15/01/2006, 15h37

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