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

Collection et Stream Java Discussion :

Vector to Integer


Sujet :

Collection et Stream Java

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2011
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 6
    Points : 2
    Points
    2
    Par défaut Vector to Integer
    Bonjour,

    J'ai fait un petit programme qui à partir d'un vector contenant des codes ASCII me retourne un integer qui est la suite des valeur ASCII.

    Exemple : mon vecteur est [108, 97, 32, 118, 105, 101, 32, 101, 115, 116, 32, 98, 101, 108, 108, 101, 10]
    Et l'integer à obtenir est : 108973211810510132101115116329810110810810110

    Voici le programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public Integer CodeASCII(Vector vect){
    		String chaineASCII = "";
    		Integer code = new Integer(chaineASCII.length());
    		
    		for (int i=0; i < vect.size(); i++){
    			chaineASCII += String.valueOf(vect.elementAt(i));
    		}
    		System.out.println("la chaine du code ASCII est : " + chaineASCII);
    		
    		code = Integer.parseInt(chaineASCII);
    		System.out.println(code);
    		return code;
    	}
    Le problème que j'ai et lorsque je le fais tourner dans main, j'obtiens l'erreur suivante :
    Exception in thread "main" java.lang.NumberFormatException: For input string: "108973211810510132101115116329810110810810110"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at Crypto.File.CodeASCII(File.java:71)
    at Crypto.File.main(File.java:90)

  2. #2
    Nouveau membre du Club
    Inscrit en
    Juillet 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 29
    Points : 39
    Points
    39
    Par défaut
    Essaie avec ça : Double au lieu de Integer..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
             public Double codeASCII(Vector<String> vect) {
    		String chaineASCII = "";
    		for (int i = 0; i < vect.size(); i++) {
    			chaineASCII += vect.elementAt(i);
    		}
    		System.out.println("la chaine du code ASCII est : " + chaineASCII);
    		Double code = Double.parseDouble(chaineASCII);
    		System.out.println(code);
                    return code;
    	}

  3. #3
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Qoa,

    Il faut penser à tenir compte de la limite de la représentation des types (int est sur 4 octets, limite -2^31 à 2^31 -1, et la valeur que tu veux traiter va bien au-delà).

    Si tu ne veux pas perdre de chiffres significatifs, il faut utiliser BigInteger.
    Si les cons volaient, il ferait nuit à midi.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    pour info, il faudra 105bits pour stocker ce nombre sous forme d'entier signé

Discussions similaires

  1. Réponses: 5
    Dernier message: 18/09/2009, 18h56
  2. [debutant] Comment afficher un integer a l'ecran
    Par Johngame dans le forum DirectX
    Réponses: 1
    Dernier message: 05/06/2003, 20h35
  3. taille des integer sous Interbase 6.0
    Par kinda dans le forum InterBase
    Réponses: 4
    Dernier message: 04/04/2003, 11h34
  4. Concaténation de String et Integer
    Par Ingham dans le forum Langage
    Réponses: 5
    Dernier message: 21/01/2003, 17h26
  5. comment integer une animation swf dans une page
    Par naili dans le forum Intégration
    Réponses: 7
    Dernier message: 18/09/2002, 18h54

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