Utilisation de charAt dans un programme palindrome (java)

Fermé
touta_touta Messages postés 337 Date d'inscription mercredi 7 août 2013 Statut Membre Dernière intervention 8 avril 2016 - 29 oct. 2013 à 21:08
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 29 oct. 2013 à 21:43
bonsoir ,
je veux savoir comment manipuler la classe charAt() pour comparer la première caractère et la dernière caractère dans une chaîne pour tester si cette chaîne et palindrome ou non .merci pour ceux qui vont m'aidez :)
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
29 oct. 2013 à 21:19
En fait, en interne, un String est un char[] et la méthode charAt fait directement référence à une case de ce tableau :

    private final char value[];

public char charAt(int index) {
if ((index < 0) || (index >= value.length)) {
throw new StringIndexOutOfBoundsException(index);
}
return value[index];
}

Il faut donc donner en paramètre un indice entre 0 et length()-1 pour récupérer le caractère que tu veux. Donc le premier caractère c'est
str.charAt(0)
et le dernier
str.charAr(str.length()-1)
--
La confiance n'exclut pas le contrôle
0
touta_touta Messages postés 337 Date d'inscription mercredi 7 août 2013 Statut Membre Dernière intervention 8 avril 2016 6
29 oct. 2013 à 21:37
bonsoir ,
merci pour votre réponse mais si il te plait peut tu m'expliquer plus cette ligne " throw new StringIndexOutOfBoundsException(index);" car je suis encore débutante en java et merci d'avance :)
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
29 oct. 2013 à 21:43
ça veut dire que si tu mets un nombre négatif ou supérieur à la taille de la chaîne de caractères, alors on te renverras une erreur "StringIndexOutOfBoundsException" avec la valeur de l'index que tu as passé en paramètres.

S'il n'y avait pas ça tu ferais un appel value[index] avec un mauvais indice et tu aurais une erreur "ArrayOutOfBoundsException". Sauf qu'il est toujours mieux de récupérer les erreurs le plus tôt possible pour avoir une explication cohérente.

Si tu avais un ArrayOutOfBoundsException en manipulant un String, tu ne comprendrais pas de quel tableau il s'agit si tu ne savais pas qu'un String était un tableau...
0