sarita199
Messages postés26Date d'inscriptionvendredi 1 juin 2007StatutMembreDernière intervention 6 octobre 2008
-
24 sept. 2008 à 18:07
sarita199
Messages postés26Date d'inscriptionvendredi 1 juin 2007StatutMembreDernière intervention 6 octobre 2008
-
26 sept. 2008 à 17:17
Bjr a tous,je suis bloquée dans cet exercice durant 4j,et désormais j'ai pas trouvé
la solustion.Le but de cet exercice est de récupérer les données d'un tableau dans une
chaine de caratéres pour que le programme la vérifie si cette chaine compose un verbe du 1er
groupe ou non.
Exercice:
Fait un programme qui permet de saisir lettre par lettre dans un tableau de 20 caractère un
verbe du 1er groupe,On arrêtons la saisie avec un point.
une fois le verbe saisie le programme doit s'assurer que le verbe se termine par "er" et
affiche sa partie de conjugaison.
voilà mon code:
package Tableaux;
import java.util.*;
public class Exercices{
String T[]=new String[20];
int i,j;
String n;
String ch=" ";
public void prog()throws Exception
{
Scanner sc=new Scanner(System.in);
do
{
System.out.print("Introduire une lettre en maniscule SVP: ");
n=sc.next();
n=n.toLowerCase();
T[i]=n;
i++;
}
while(n.equals(".")==false);
for(i=0;i<T.length;i++)
{
System.out.print(T[i]+"\t");
}
for(j=0;j<T.length;j++)
{
if(T[j-2]=="e"&& T[j-1]=="r")
{
for(i=0;i<j-3;i++)
{ch=ch+(T[i]);}
}
}
System.out.print("C'est un verbe ddu 1er groupe"+ch);
}
Il y a pas mal d'erreurs dans ton programme.
Commence par ajouter un } à la fin du programme et à remplacer
while(n.equals(".")==false); par : while(!n.equals("."));
compile, execute et dis moi ce qu'il se passe et on continuera.
sarita199
Messages postés26Date d'inscriptionvendredi 1 juin 2007StatutMembreDernière intervention 6 octobre 20082 25 sept. 2008 à 16:34
Bonjour Danimo,d'abord merci de ton aide.Oui j'ai essayé ce que tu me dis et il s'amarche, mais le prob ici que l'exécution du programme s'arrête dans cet ligne:
if(T[j-2]=="e"&& T[j-1]=="r")
il m'affiche cet message:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:-2
sarita199
Messages postés26Date d'inscriptionvendredi 1 juin 2007StatutMembreDernière intervention 6 octobre 20082 25 sept. 2008 à 18:06
Merci d'avance,désolé pour ces problémes mais je suis débutante en java
for(j=0;j<T.length;j++): bah pr moi cet instruction sénifie que le programme va lire les éléments jusqu'au le dernier élément.quelque soit la langueur du contenue et quand il arrive au deux derniers éléments il vas les comparer s'il sont egaux à "er",puis affiche la partie de conjugaison sans "er".
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 ((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 :
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
Ces éléments sont numérotés 0 à 19 et non Ces éléments sont numérotés 0 à 20 !!!!!
sarita199
Messages postés26Date d'inscriptionvendredi 1 juin 2007StatutMembreDernière intervention 6 octobre 20082 26 sept. 2008 à 00:26
Merci pr ton aide et ton explication.bah quand j'été coupée ton programme une erreur il m'afiche concernant le Ï qui ce trouve dans cette position
ÏT[i]=n;
Ïi++;
Ï}//Syntax error, insert "AssignmentOperator ArrayInitializer" to complete ArrayInitializerAssignement
et vous pouvez m'expliquer a quoi sert il , car c'est la 1er fois que je l'ai vu. j'ai compris d'aprés le msg d'erreur qu'elle est une outil d'initialisation mais c'est pas claire.