D'accord, je comprend ce que tu veux faire, mais le message d'erreur (l'exception) indique que tu veux lire l'élément -2 de ton tableau. Ces éléments sont numérotés 0 à 20, donc tu es hors des dimensions de ton tableau
ArrayIndexOutOfBoundsException:-2
La boucle
for(j=0;j<T.length;j++)
{
if(T[j-2]=="e"&& T[j-1]=="r")
{
n'est pas nécessaire, il faut que testes directement à la fin de ton intro et non à la fin du tableau.
Pour cela tu dois stocker la longueur de ce que tu as entré ici :
do
{
System.out.print("Introduire une lettre en minuscule SVP: ");
n=sc.next();
n=n.toLowerCase();
T[i]=n;
i++;
}
while(n.equals(".")==false); et cette longueur c'est i.
Voici une solution:
{
Scanner sc=new Scanner(System.in);
do
{
System.out.print("Introduire une lettre en minuscule SVP: ");
n=sc.next();
n=n.toLowerCase();
if (!n.equals("."))
{
ÏT[i]=n;
Ïi++;
Ï}
}
while(!n.equals(".")); // ==false);
isv = i;ÏString leverbe = "";
for(i = 0;i<isv;i++)
{ÏSystem.out.println(T[i]);
Ïleverbe = leverbe.concat(T[i]);
}
if ((T[isv-2].equals("e")) && (T[isv-1].equals("r")))
{
ÏSystem.out.println("Le verbe " + leverbe + " est un verbe du 1er groupe.");
}
else System.out.println("Le verbe " + leverbe + " n'est pas un verbe du 1er groupe.");
}
Tu peux essayer ? Et n'hésites pas situ as besoin d'explications.
Il faut quand même savoir que tout ce qui sera entré terminant par er sera considéré comme verbe (exemple abcder ou 123456er).
D'autre part si on entre un 21eme caractère on aura l'exception :
ArrayIndexOutOfBoundsException: 20
Cordialement.
...\ Dan /...