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

Collection et Stream Java Discussion :

recuperation des operandes


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Par défaut recuperation des operandes
    Bjr j'ai un string qui contient une opération mathématique ,je veux récupérer les opérandes ainsi que les opérations afin que je puisse réaliser l'opération exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    double x1 = 1 ;
    double x2 = 2;
    double x3 = 3 ;
    String operation = "(x1+x2-x3) /2"  ;
    je veux développer une méthode realiserOperation qui me permet de retourner la valeur de l'operation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    double valeur = realiserOperation  ( operation )
    System.out.println(valeur);

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    JEXL peut aider à cela assez sûrement.

    Sans bibliothèque extérieure, ça peut se faire avec le moteur d'évaluation de JavaScript, qui peut évaluer ce genre d'expression. Il y a une doc d'utilisation du moteur JavaScript inclus dans Java.
    Mais c'est trop facilement exploitable à mon goût, je préfère JEXL.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre émérite
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 511
    Par défaut
    Bonjour youzigh

    je veux développer une méthode realiserOperation qui me permet de retourner la valeur de l'operation
    JEP le fait très bien, Les dernières version sont payantes, mais la V2.4.1 est sous GPL et donc gratute.

    Si c'est pour un exercice, tu va devoir créer un parser pour le faire. Moi, j'utiliserai ANTLR
    Page sur Developpez : http://pbriand.developpez.com

  4. #4
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Par défaut
    merci pour vos réponse cela rentre dans un projet professionnel

  5. #5
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Par défaut
    maintenant je veux récupérer les opérandes d'une opération dans une liste des string
    je veux créer une méthode qui a en entrée une opération et qui me retourne les différentes opérandes de l'opération

    exemlpes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    String operation ="x1+x2+x3*(x4-x5)";
    string[] operandes = getoperandes(operation);

  6. #6
    Membre averti
    Inscrit en
    Mars 2010
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 14
    Par défaut
    j'ai trouvé la solution ,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Pattern pat = Pattern.compile("[A-Z0-9_]+");
    Matcher mat = pat.matcher("x1+x2+x3*(x4-x5)");
    while (mat.find()){
     System.out.println(mat.group());
                      }

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

Discussions similaires

  1. et récupération des infos
    Par sebos63 dans le forum 4D
    Réponses: 5
    Dernier message: 01/03/2005, 11h52
  2. [VB6] récuperation des propriétés d'un fichier exe
    Par ulrick dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 26/03/2004, 00h08
  3. [langage] Récupérer des Warning ??
    Par armada dans le forum Langage
    Réponses: 2
    Dernier message: 05/06/2003, 16h45
  4. [statusbar] recuperer des infos d'un autre prog
    Par noyax dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 20/12/2002, 15h52
  5. Réponses: 4
    Dernier message: 18/07/2002, 13h32

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