Code ascii

Résolu/Fermé
helloworld95 - 2 sept. 2018 à 11:49
 helloworld95 - 2 sept. 2018 à 16:58
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


A voir également:

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
2 sept. 2018 à 11:54
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
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
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
2 sept. 2018 à 12:56
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
D'accord merci ca fonctionne !
0