Alphabet dans un tableau

Résolu/Fermé
helloworld95 - 31 août 2017 à 22:47
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 31 août 2017 à 23:03
Bonjour,

J'aimerai remplir un tableau avec l'alphabet.

J'ai pensé utilisé ce code mais il ne fonctionne pas, j'ai un ArrayIndexOutOfBoundException. Pourquoi ?

		for (char i = 'A'; i <= 'Z'; i++){
			tableLettres[i] = i;
		}


Merci



2 réponses

helloworld95
31 août 2017 à 22:56
J'ai compris mon erreur et solutionné mon problème au final :)

		for (int i = 0; i <= TAILLE_LETTRES; i++){
			for (char j = 'A'; j <= 'Z'; j++){
				tableLettres[i] = j;
				i++;
			}
		}
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
31 août 2017 à 23:03
C'est affreusement moche ! La deuxième boucle ne sert à rien.

Tu devrais plutôt faire :

for (char i = 'A'; i <= 'Z'; i++) {
    tableLettres[i-'A'] = i;
}
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
31 août 2017 à 22:58
Bonjour,

Combien de cases contient ton tableau ?

La valeur décimale de 'A' c'est 65, donc si tu fais
tableLettres[i] = i
avec
i = 'A'
tu vas mettre ta valeur à la case 65... sous réserve que ton tableau soit dimensionné pour ça.

J'imagine d'ailleurs que l'ArrayIndexOutOfBoundException est accompagnée de cette valeur 65 dans la description complète de l'erreur.
0