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

Langage Java Discussion :

[Debutant] conversion de char en int


Sujet :

Langage Java

  1. #1
    Membre actif
    Inscrit en
    Décembre 2003
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 491
    Points : 245
    Points
    245
    Par défaut [Debutant] conversion de char en int
    Bonjour

    Je dois ecrire un petit programme ou j'ai besoin d'extraire un int d'un autre.
    Par exemple je dois extraire de l'int 25 l'int 5.

    Pour le faire j'ai converti mon 25 en Integer puis en string et ensuite avec la methode charAt() j'ai extrait le 5 dont j'ai besoin.
    Je ne suis pas sur d'avoir vraiment vraiment un String la, mais bon




    Mon probleme est que je n'arrive pas a retourne en arriere avec mon char "5"pour avoir de nouveau un int valide qui me permettrai de faire des operations arithmetiques.

    Ici est l'etat actuel de mon code
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    import java.lang.String;
    import java.lang.Integer;
     
    public class Multitest{
     
    	public static void main (String []args){
     
    	System.out.println( " Geben Sie ein Int als Multiplikant");
    	int mKant = LireInt.i();
     
    	System.out.println( " Geben Sie ein Int als Multiplikator");
    	int mTor = LireInt.i();
     
    	int A[] = new int[6];
     
    	Multi mul = new Multi();
     
    	System.out.println( " Der Multiplikant ist  " + mKant );
    	System.out.println( " Der Multiplikator ist  " + mTor );
     
     
     
        Integer MK = new Integer( mKant ); 
        System.out.println("quoi cela etre"+ MK ); 
     
        Integer MT = new Integer( mTor ); 
        System.out.println( "mt= " +MT ); 
    	String strMT = MT.toString();
        System.out.println( strMT ); 
     
    	char c = strMT.charAt(0);
        System.out.println( c ); 
     
     
    	int N = mKant * mTor;
     
     
     
    	//int N = A[6];	
    	System.out.println( " Ergebnis der Multiplikation ist  " + N );
    		}	
    	}

    Est-ce que quelqu'un peut me dire comment faire?

    D'avance merci

    marc_3

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 2
    Points : 5
    Points
    5
    Par défaut
    Pour passer d'un objet de type String représentant un entier à un int, c'est très simple: tu utilises la méthodes parseInt() qui s'applique sur un String. Bien sur l'Exception guette !
    Je crois que tu dis avoir un char et non un String, et bien dans la classe String ou dans la classe Character, tu trouveras ton bonheur pour passer d'un char à un String.

    Ceci dit si tu veux extraire le chiffre des unités d'un entier, il y a des méthodes plus "mathématiques" pour y parvenir.

  3. #3
    Membre habitué
    Avatar de jolatouf
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    170
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 170
    Points : 189
    Points
    189
    Par défaut
    Bonjour je me demande si tu n as pas mieux de faire des division par 10 100 et la suite pour recuperer ton int

    et a la rigueur utiliser un modulo que tu stoque si tu veux retrouver ton chiffre de base.

    Enfin si j ai bien compris ton sujet tu veux rester avec des chiffres du debut a la fin donc ne te complique pas la vie a transformer en char puis en string pour revenir en int.

  4. #4
    Membre actif
    Inscrit en
    Décembre 2003
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 491
    Points : 245
    Points
    245
    Par défaut convertion suite
    Ben non justement je voulais profite de l'exercice pour regler un vieux probleme avec ce genre de sujet .

    Maintenant j'essaye de voir avec parseInt() et je me retrouve avec un autre
    probleme avec la formulation du code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    	char c = strMT.charAt(0);     // ici j'extrai mon char   
    	int cInt =c.parseInt();          //  ici j'essaie d'en faire un int
    Ca c'est mon message d'erreur
    C:\Program Files\Xinox Software\JCreatorA3 LE\MyProjects\Inf_iv\Multitest.java:36:
    char cannot be dereferenced
    int cInt =c.parseInt();
    Comment je dois etre poli avec la machine por obtenir ce que je veux

    Marc_3

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 2
    Points : 5
    Points
    5
    Par défaut
    Essaie de transformer ton char en String.
    Avec la methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    static String String.valueOf(ton_char);
    et ensuite appelle la methode parseInt.

  6. #6
    Membre actif
    Inscrit en
    Décembre 2003
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 491
    Points : 245
    Points
    245
    Par défaut Merci pour l'aide
    Merci pour l'aide ,

    En suivant juste un fragment qui fait ce que je veux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    int mKant = LireInt.i();                              //Ici je recois un int
    Integer MK = new Integer( mKant );          //Ici il devient un objet
    String strMK = MK.toString();                     //Ici il devient un String
    char czeroMK = strMK.charAt(0);                //Ici je peus extraire le char 
    String  StrMKcz= String.valueOf(czeroMK);  //Il faut en refaire un String 
    	int cInt=Integer.parseInt(StrMKcz);     //et enfin j'ai l'int que je               .                                                               //voulais
    Vous n'allez pas le croire, je voulais trouver une solution simple

    Encore merci

    Marc_3

  7. #7
    Membre expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Points : 3 675
    Points
    3 675
    Par défaut
    tu veux une solution simple ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int n = 25;
    int unites = n%10; // unites = 5

  8. #8
    Membre actif
    Inscrit en
    Décembre 2003
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 491
    Points : 245
    Points
    245
    Par défaut lumiere
    Evidemment maintenant un autre probleme se pose, comment
    qualifie la derniere solution proposee

    J'hesite entre brillant et eblouissant.
    Sans dec. j'aurai du y penser (mais j'aime bien ironise quand meme)

    Merci
    Marc_3

  9. #9
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    String str = "123456789";
    String c = ""+str.charAt(3);

    int i = Integer.parseInt(c);

    System.out.println(i); // = 4


  10. #10
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Citation Envoyé par GatoPreto Voir le message
    String str = "123456789";
    String c = ""+str.charAt(3);

    int i = Integer.parseInt(c);

    System.out.println(i); // = 4
    Selon les cas je préfère

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int i = str.charAt(3) - '0';
    Par contre il faut être sûr que la chaîne str ne contient vraiment que des chiffres. Il n'y a pas de vérification, et si le caractère n'était pas un chiffre, i ne sera pas compris de 0 à 9.
    Dans le même genre il y a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // 10 est la base dans laquelle on compte : 10 chiffres, 0 à 9.
    int i = Character.digit(str.charAt(3), 10);
    Ça renvoie -1 si ça ne reconnaît pas le chiffre. L'ennui c'est que ça accepte n'importe quelle variation Unicode des chiffres arabes, au lieu de se limiter à l'ASCII.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. conversion unsigned char en int
    Par titou35 dans le forum Débuter
    Réponses: 5
    Dernier message: 17/06/2009, 14h12
  2. Conversion de char en int
    Par delovan dans le forum C
    Réponses: 7
    Dernier message: 28/03/2007, 22h15
  3. conversion d'une char* en int
    Par damien99 dans le forum MFC
    Réponses: 25
    Dernier message: 06/03/2006, 12h27
  4. [Conversion]Convertir un char[] en int
    Par ThanosT dans le forum Général Java
    Réponses: 10
    Dernier message: 11/11/2005, 12h23
  5. "Conversion" d'un char en int ou longueur
    Par Michaël dans le forum C
    Réponses: 6
    Dernier message: 15/08/2003, 11h40

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