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

Eclipse Java Discussion :

[ Eclipse ] Erreur sur un opérateur *


Sujet :

Eclipse Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 75
    Points : 53
    Points
    53
    Par défaut [ Eclipse ] Erreur sur un opérateur *
    Bonjour a tous !

    Je débute sur éclipse et je rencontre une erreur que je ne comprend pas tres bien :

    j'ai une methode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    double arrondi(Double x, int n) {
      		double r =  (Math.round(x * Math.pow(10,n)) )/ (Math.pow(10,n));
      		return r;
      	}
    éclipse me met un marker :

    The operator * is undefined for the argumetn type(s) Double, double
    pourtant il sagit d'une simple multiplication sur un double ..

    Quelqu'un peut-il m'aider ?

    Merci infiniement

  2. #2
    Membre habitué
    Inscrit en
    Décembre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Décembre 2004
    Messages : 201
    Points : 179
    Points
    179
    Par défaut
    double arrondi(Double x, int n)

    Cela vient de la
    x est un objet de ta classe Double
    double un type primitif
    fait un x.doubleValue() à la place de x dans (Math.round(x * Math.pow(10,n)) )/ (Math.pow(10,n));

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 75
    Points : 53
    Points
    53
    Par défaut
    Ok merci !

    Mais dans ce cas pourquoi ca compile sans probleme dans un autre ide comme jcreator ?

  4. #4
    Membre averti Avatar de Jean-Philippe Shields
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 278
    Points : 330
    Points
    330
    Par défaut
    Parce que Double et double (attention à la casse) ne représente pas le même objet.

    Double dérive de java.lang.Object et est une classe. Cet object doit s'intancier de la manière suivante: Double x = new Double(3.2);. Tandis que double est un type primitif et s'intancie comme ceci: double x = 3.2;

    La même logique peut s'appliquer à int et Integer.

    P.S. Ta syntaxe ne devrait pas compiler normalement...

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Jean-Philippe Shields
    P.S. Ta syntaxe ne devrait pas compiler normalement...
    Sauf avec Java 5.0 et l'autoboxing des types primitifs qui convertit automatiquement les types primaires vers l'objet correspondant et inversement...

    a++

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 75
    Points : 53
    Points
    53
    Par défaut
    Sauf avec Java 5.0 et l'autoboxing des types primitifs qui convertit automatiquement les types primaires vers l'objet correspondant et inversement...
    Ok! Je pense que mon erreur venait de là, étant donné que j'ai appris a développer avec java 5 et pas les versions anterieures...

    J'ai du faire l'erreru souvent sans m'en appercevoir ^^

    Merci beaucoup a vous deux !

  7. #7
    Membre averti Avatar de Jean-Philippe Shields
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 278
    Points : 330
    Points
    330
    Par défaut
    Sauf avec Java 5.0 et l'autoboxing des types primitifs qui convertit automatiquement les types primaires vers l'objet correspondant et inversement...
    Ouffs, sacré Java 5.0. On a l'air con quand on est pas à jour, haha. [/quote]

Discussions similaires

  1. [AC-2010] Erreur sur l'opérateur "Mod"
    Par JeanYves70 dans le forum VBA Access
    Réponses: 5
    Dernier message: 04/09/2013, 16h37
  2. Réponses: 1
    Dernier message: 05/02/2007, 13h27
  3. message d'erreur sur Eclipse
    Par habbou dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 09/11/2006, 14h18
  4. [VBA] Erreur sur une requête avec un opérateur
    Par elgringo2007 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 03/07/2006, 17h12
  5. [JSP, Eclipse] Erreur sur un taglib
    Par nebule dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 28/02/2005, 10h32

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