IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Conversion d'un entier en lettre


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 80
    Points : 53
    Points
    53
    Par défaut Conversion d'un entier en lettre
    Bonjour Tous,
    je commence a betonner un algo de conversion d'un nombre en lettre.
    ceci dit le bout de code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    public class Million {
     public static void main(String args[]) {
     //int montant ,restdivpacent,resuldivnbspe,restdivnbspe,restdivpadix;
     String lettre=" ";
     String chiffre[]={"un","deux","trois","quatre","cinq","six","sept","huit","neuf","Dix","Onze","Douze","Treize","Quatorze","quinze","Seize","Dix Sept","Dix huit","Dix neuf"};
     String dizaine[]={"dix","vingt","trente","quarante","cinquante","soixante","soixante dix","quatre vingt","quatre vingt dix"};
      // System.out.println (dizaine[1]);
        //System.out.println (chiffre[2]);
        System.out.println("Entrer le montant à convertir");
        int   montant = Lire.lireInt();
        int resuldiv= (int)(montant)/1000000;
        System.out.println (resuldiv);
        	if(resuldiv==0){
        	  if(resuldiv>=100){
        	   int resuldivpacent=resuldiv/100;
        	       System.out.println (resuldivpacent);
        	    if(resuldivpacent==1){
        	      lettre =lettre+"cent";
        	    }else {
        	      lettre=lettre+chiffre[resuldivpacent]+"cent";
        	     // lettre=lettre+"cent";
        	    }
        	  }
        	}
      System.out.println (lettre);
     }
     }
    Lorsque je saisis un montant(pour le moment supérieur à 100000000) 30000000
    le bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     System.out.println (resuldivpacent);
    doit m'afficher 3 mais il ne fait rien.
    je veux bien comprendre pourquoi et comment y parvenir

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Citation Envoyé par manguigs Voir le message
    Lorsque je saisis un montant(pour le moment supérieur à 100000000) 30000000 le bout de code [...] doit m'afficher 3 mais il ne fait rien.
    Comment fonctionne ta méthode Lire.lireInt ? Il est probable que ton programme reste en attente d'une entrée clavier de ta part.
    A partir du moment où un entier aura été récupéré par cette instruction, il n'y a ensuite aucune raison pour que l'affichage de 30 (et non 3 erreur de frappe ?) ne s'effectue pas.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    si je saisis 300.000.000 (montant)
    je divise 300.000.000 par 1.000.000 je dois avoir 300 (resuldiv)
    si resuldiv>0 (c'est le cas!)
    je divise 300 par 100 (resuldivpacent) je dois avoir 3 avec cette instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     System.out.println (resuldivpacent);
    mais rien ne s'affiche
    j'execute ce code dans une console

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Oups, pardon, j'avais mal lu, j'ai cru que le premier affichage ne s'effectuait pas alors que c'est le deuxième qui pose problème.

    Je crois que ton erreur est toute bête :
    Tu dis "si resuldiv > 0 alors etc" mais dans ton code il y a "if (resuldiv == 0)"

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 80
    Points : 53
    Points
    53
    Par défaut
    oh que j'ai honte!
    c'est plutot ca que je devais mettre
    bien merci je continue mon periple

Discussions similaires

  1. conversion chaîne vers entier
    Par pepper18 dans le forum C++
    Réponses: 2
    Dernier message: 31/03/2006, 16h36
  2. Conversion d'un entier en char*
    Par Langly dans le forum C++
    Réponses: 15
    Dernier message: 09/02/2006, 14h38
  3. conversion une chaine numérique en lettre
    Par nazimb dans le forum ASP
    Réponses: 1
    Dernier message: 20/11/2005, 17h39
  4. Conversion d'un entier en caractères
    Par Tcheby dans le forum Langage
    Réponses: 6
    Dernier message: 18/11/2005, 08h41
  5. conversion d'un entier en ASCII
    Par bischof dans le forum Langage
    Réponses: 6
    Dernier message: 08/07/2005, 13h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo