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. 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
    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,

        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. 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é)