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

Langage Java Discussion :

addition de char


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 83
    Par défaut addition de char
    voilà mon prob :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    char a, b; a='t'; b='u';
    System.out.println(a + b);
    à l' affichage, j' obtiens tu . Normal

    Mais quand je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String pronom = a + b;
    problème. Apprement, d' après le message d' erreur, la somme de char donne un int.

    Pourquoi à l' affichage, j' ai un string et dans l' autre cas, j' ai un int.

    Je vous remercie d' avance pour la réponse

  2. #2
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    En effet char est une donnee de type numerique de 1 a 255.

    println fais un casting automatique alors que a+b dans le cadre d'une affectation est considere comme la somme de deux entiers ( de 1 a 255).
    Il te faut realise un casting(ou utiliser une methode approprie) si tu veux concatener deux chars

  3. #3
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    String pronom = a+""+b;


  4. #4
    Membre éclairé Avatar de trax44
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 300
    Par défaut
    Citation Envoyé par willoi
    En effet char est une donnee de type numerique de 1 a 255.
    Euh c'est pas de 0 => 255 ?

  5. #5
    Membre Expert Avatar de willoi
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    1 355
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 355
    Par défaut
    Citation Envoyé par trax44
    Euh c'est pas de 0 => 255 ?
    C'est possible , a verifier ...

  6. #6
    Membre éclairé Avatar de ploxien
    Inscrit en
    Février 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2006
    Messages : 467
    Par défaut
    Oui, de 0 à 255... Car c'est codé sur 8 bits et 2^8=256 !

    Et d'accord avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String pronom = a+""+b;
    A+

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 159
    Par défaut
    Les operations avec des byte, short ou char donnent des int, c'est ce qu'on appelle l' "Arithmetic Promotion". La seule exception ce sont les opérateurs ++ et --.

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/07/2003, 16h24
  2. Réponses: 6
    Dernier message: 24/03/2003, 17h11
  3. Traitement d'un char* renvoyé par une DLL en C++
    Par LuluTchab dans le forum Langage
    Réponses: 4
    Dernier message: 22/03/2003, 21h48
  4. [VB6] Problème d'addition de dates et de nombres
    Par pepper dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 28/11/2002, 21h12
  5. [imprecis]Réaliser a^n avec seulement l'opérateur d'addition
    Par Amon dans le forum Algorithmes et structures de données
    Réponses: 18
    Dernier message: 08/11/2002, 22h22

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