Code ascii

Résolu
helloworld95 -  
 helloworld95 -
Bonjour,

J'aimerai associer la premiere lettre d'un nom avec l'indice d'une table.
Ex: a ----> 0
b ----> 1
.........
z----->25

J'ai donc fait
int indice = (int)nom.charAt(0)
mais j'ai le code ASCII donc ca ne correspond pas.

Je ne sais pas comment faire..

Merci

1 réponse

  1. KX Messages postés 19031 Statut Modérateur 3 020
     
    Bonjour,

    Il faudrait juste faire une soustraction pour arriver à ton résultat :
    int indice = nom.charAt(0) - 'a';


    Remarque : même si les premiers caractères sont identiques, Java travaille en UTF-16, pas en ASCII.
    0
    1. helloworld95
       
      Merci et je dois toujours faire - a ou en fonctoin de la lettre ? Donc -b si je tombe sur un b, -c sur un c etc ?
      0
    2. Dalfab Messages postés 638 Date d'inscription   Statut Membre Dernière intervention   102
       
      Le - 'a' permet d'avoir la lettre 'a' qui donnera 0, la lettre 'b' donnera 1, etc.
      Donc quelle que soit la lettre à convertir il faut faire
      int indice = nom.charAt(0) - 'a'; 
      0
    3. helloworld95
       
      D'accord merci ca fonctionne !
      0