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 :

attribuer à une variable la valeur d'un opérateur (< >)


Sujet :

avec Java

  1. #1
    En attente de confirmation mail
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Points : 96
    Points
    96
    Par défaut attribuer à une variable la valeur d'un opérateur (< >)
    Comment attribuer à une variable que je crois devoir être un char la valeur d'un symbole inferieur ou supérieur (< >) et l'utiliser.
    C'est en lisant un tableau dont les éléments contiennent 0 ou 1 que mon expression doit choisir "<" ou ">", ce serait facile de remplacer les 0 ou 1 par des <, > mais je ne sais pas me servir des variables.
    Voila le code que j'ai essayé mais qui ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    char [][] tab =new char[200][7];
    //dans le cours du programme les valeurs de tab s'initialisent à 0 ou 1
    //je les remplace par < ou > selon qu'elles valent 0 ou 1
    //exemple if(tab[i][j]=='0')tab[i][j]='<';
    mais comment utiliser tab[i][j] dans une expression du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(a tab[i][j] b)
    //au lieu de if(a<b)
    j'ai essayé la wrapper class Character et sa methode charValue() mais sans aucun résultat

    Si vous pouviez m'aider !!!

    Merci

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    On ne peut pas stocker d'opérateur du langage dans une variable, et donc une variable ne peut pas servir d'opérateur.

    Voici la manière la plus directe de faire cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(tab[i][j] == '<' ? a < b : a > b)
    qui peut être écrite plus clairement ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(
      (tab[i][j] == '<' && a < b) ||
      (tab[i][j] != '<' && a > b)
    )

    Voici la manière objet de faire cela :

    fichier IntComparator :
    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
    public class IntComparator {
     
      public static final IntComparator LOWER_THAN = new IntComparator(true);
      public static final IntComparator GREATER_THAN = new IntComparator(false);
     
      boolean lower;
     
      private IntComparator(boolean lower) {
        this.lower = lower;
      }
     
      public boolean comparison(int a, int b) {
        if(lower) {
           return a < b;
        } else {
           return a > b;
        }
      }
    }
    Puis pour s'en servir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    IntComparator[][] tab;
    // initialiser le tableau avec des IntComparator.LOWER_THAN et des IntComparator.GREATER_THAN...
    // ...
    if(tab[i][j].comparison(a, b))
    ... Mais pour ce coup-là, l'approche objet c'est peut-être se faire ch*er pour pas grand-chose.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    En attente de confirmation mail
    Inscrit en
    Septembre 2009
    Messages
    269
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 269
    Points : 96
    Points
    96
    Par défaut
    merci pour ta réponse, je pense qu'en C, c'est possible, c'est pourquoi je cherchais.
    A+

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par philippe6 Voir le message
    merci pour ta réponse, je pense qu'en C, c'est possible
    Nope.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/02/2012, 10h22
  2. [Batch] Attribuer une plage de valeurs à une variable ?
    Par Arthryn dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 24/03/2010, 13h04
  3. [Conception] INSERT une variable de valeur 1
    Par JackBeauregard dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 11/09/2006, 13h10
  4. [C#] Lier une variable à la valeur d'un textbox
    Par etiennegaloup dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/06/2006, 16h48
  5. [Custom Tags 1.2] Passer une variable comme valeur d'attribut d'un tag jsp
    Par Pi2 dans le forum Taglibs
    Réponses: 7
    Dernier message: 16/09/2005, 14h44

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