Aide java

Bonjour,

Dés qu'une consonne est suivie d'une voyelle. on ajoute "av" entre les deux...Exemple: GROS donne GRAVOS.

Mes fonctions marchent bien, alors les erreurs doivent être dans mon main... Est-ce que quelqu'un pourrait m'aider... C'est très important, merci d'avance!

public class Traducteur
{
public static void main(String[] args)
{
String mot;
int i,n=0;

mot=args[0];
String nouveaumot=mot;
int taille=nouveaumot.length();
System.out.println(mot);

for(i=0;i<taille-1;i++)
{
if( consonne(mot.charAt(i)) && voyelle(mot.charAt(i+1)) )
{

nouveaumot= nouveaumot.substring(0,i+1)+"av"+nouveaumot.substring(i+1);
}
}

System.out.println(nouveaumot);

}

public static boolean voyelle(char lettre)
{
boolean valeurVerite=false;

if(lettre== 'a' || lettre == 'A' || lettre=='i' || lettre=='I'
|| lettre=='o' || lettre=='O' || lettre=='u' || lettre=='U'
|| lettre=='e' || lettre=='E')

valeurVerite = true;

else valeurVerite = false;

return valeurVerite;

}

public static boolean consonne(char lettre)
{
boolean valeurVerite=false;

valeurVerite= voyelle(lettre);
if(valeurVerite || lettre ==' ')
valeurVerite=false;
else valeurVerite=true;

return valeurVerite;

}

}
Configuration: Linux Fedora
Konqueror 4.2

4 réponses

  1. peux-tu nous préciser quel genre d'erreurs obtiens-tu ? (Avec description complète)

    De plus, penses à utiliser les balises "code" (bouton à droite de gras italique souligné)
    1. Salut,

      Tu ne dis pas comment tu lances ton appli...

      Il faut passer GROS (ou gros) en argument.

      Exemple en ligne de commnande:

      java Traducteur GROS

      Cordialement,

      Dan
      1. Bonjour,

        Pour compiler: javac Traducteur.java (aucune erreur)
        Pour executer: java Traducteur "gros gros"

        Ce qu'il devrait afficher: gravos gravos
        Ce qu'il affiche: gravos avgros

        Est-ce que quelqu'un aurait la moindre idée de ce qui cloche dans mon main? (Car encore une fois, les fonctions sont sans erreurs)

        Merci d'avance!
        1. Salut,

          Ton programme ne traite qu'un paramètre "gros gros" qui n'est pas un mot.
          Pour obtenir gravos gravos, il faudrait executer comme ceci:
          java Traducteur gros gros
          mais en modifiant la ligne
          mot=args[0]; 

          mot=args[nbrArgs]; 

          et faire une boucle pour traiter plusieurs args:

           public static void main(String[] args) 
                {
                   int nbrArgs = args.length; // <<<<<<<<<<<<
                   String mot; 
                   int i,n=0; 
                   int ii = 0;  // <<<<<<<<<<<<<<<
                   while(ii < nbrArgs) // <<<<<<<<<<<<<<<<
                   {  // <<<<<<<<<<<<<<<<<<<
                      mot=args[ii];  // <<<<<<<<<<<<<<<<<<<<<
                      String nouveaumot=mot; 
                      int taille=nouveaumot.length(); 
                      System.out.println(mot); 
                   
                      for(i=0;i<taille-1;i++) 
                      { 
                         if( consonne(mot.charAt(i)) && voyelle(mot.charAt(i+1)) ) 
                         { 
                         
                            nouveaumot= nouveaumot.substring(0,i+1)+"av"+nouveaumot.substring(i+1); 
                         } 
                      } 
                   
                      System.out.println(nouveaumot + "\n"); 
                      ii++;  // <<<<<<<<<<<<<<
                   }  // <<<<<<<<<<<<<<<<<
                }


          OU REVOIR TON ALGO

          Cordialement,

          Dan