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

API standards et tierces Java Discussion :

[Java] Impossible de mettre un double dans un tableau de double


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 145
    Par défaut [Java] Impossible de mettre un double dans un tableau de double
    Bonjour,

    j'ai un problème qui ne doit pas être très compliqué à résoudre mais qui me bloque.

    Je n'arrive pas à mettre des doubles dans un tableau de double.
    Si je fais des System.out.println(...) ; j'obtiens les bonnes valeurs pour val1 et val2 mais toujours 0.0 pour buffer1 et buffer2.

    Savez-vous pourquoi ?

    Je mets la partie du code qui pose problème :
    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
     
    private double[] buffer1 = new double[70000];
    private double[] buffer2 = new double[70000];
    int bufferincr = 0;	
    double val1;
    double val2;
    for (int i=13; i<50000; i+=19)
    	{
    		val1 = Double.parseDouble(bufferLecture[i]);	
    		val2 = Double.parseDouble(bufferLecture[i+1]);	
     
    		buffer1[bufferincr] = val1;
    		buffer2[bufferincr] = val2;
    		bufferincr ++;
    	}
    Merci.
    Bonne journée.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Ca fonctionne chez moi. Alors si en plus tu dis que Val1 et Val2 ne valent pas 0 c'est incompréhensible .... hormis le fait que tu n'auras buffer1 et buffer2 remplis que de 0 jusqu'a (50000/19) (alors que tu alloues 70000 ?)

    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
    	double[] bufferLecture = new double[50000];
    		for (int i = 0; i < bufferLecture.length; i++)
    			bufferLecture[i]=Math.random();
     
    		double[] buffer1 = new double[70000];
    		double[] buffer2 = new double[70000];
    		int bufferincr = 0;	
    		double val1;
    		double val2;
    		double cpt1=0;
    		double cpt2=0;
    		for (int i=13; i<50000; i+=19)
    			{
    				val1 = Double.parseDouble(""+bufferLecture[i]);	
    				val2 = Double.parseDouble(""+bufferLecture[i+1]);	
     
    				buffer1[bufferincr] = val1;
    				buffer2[bufferincr] = val2;
     
     
    				cpt1 += buffer1[bufferincr];
    				cpt2 += buffer2[bufferincr];
     
    				bufferincr ++;
    			}
    		System.err.println("CPT1 == "+cpt1);
    		System.err.println("CPT2 == "+cpt2);
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonjour,

    Déjà, tu as plusieurs erreur de compilation avec ton code
    1-
    double[] buffe2 r= new double[70000];
    Tu as un espace entre buffer2 et r.
    2-
    bufferincr ++;
    Tu as aussi un espace entre la variable et l'opérateur ++.

    Essaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    for (int i=13; i<50000; i+=19)
        	{
        		val1 = Double.parseDouble(bufferLecture[i]);	
        		val2 = Double.parseDouble(bufferLecture[i+1]);	
     
        		buffer1[bufferincr] = val1;
        		buffer2[bufferincr] = val2;
        		bufferincr++;
        	}
        	for(int i=0; i<bufferincr;i++){
        		System.out.println("buffer1 "+i+" :"+buffer1[i]);
        		System.out.println("buffer2 "+i+" :"+buffer2[i]);
        	}
    Et ça affiche quoi?

    A+.

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    2-
    Tu as aussi un espace entre la variable et l'opérateur ++.
    Ca ne pose aucun problèmes ca entres nous
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Citation Envoyé par wax78 Voir le message
    Ca ne pose aucun problèmes ca entres nous
    Effectivement .

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2012
    Messages : 145
    Par défaut
    Merci pour vos réponses.

    J'ai changé le nom de mes variables avant de poster le code, d'où les problèmes d'espaces.
    Je n'ai aucun problème de compilation.
    Pour le 70000, on est d'accord mais c'est pour simplifier. Ce n'est pas ceci qui pose problème.

    Si j'ajoute ce que tu as mis dans ton code (wax78), j'obtiens :
    CPT1 == 0.0
    CPT2 == 0.0

    Quand je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for(int i=0; i<bufferincr;i++){
        		System.out.println("buffer1 "+i+" :"+buffer1[i]);
        		System.out.println("buffer2 "+i+" :"+buffer2[i]);
        	}
    j'obtiens les bonnes valeurs dans les buffer 1 et 2. Je ne vois pas la différence entre ça et mettre dans ma boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    System.out.println("buffer1 " + bufferincr + " : " + buffer1[bufferincr]);
    System.out.println("buffer2 " + bufferincr + " : " + buffer2 [bufferincr]);
    C'est bon, j'ai trouvé mon erreur, elle était dans une autre partie du code qui utilisait ce résultat.

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

Discussions similaires

  1. [XML] impossible de mettre un CDATA dans un autre CDATA ?
    Par hosonno dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 10/03/2010, 18h25
  2. Impossible de mettre une variable dans les cookies
    Par 123quatre dans le forum Langage
    Réponses: 4
    Dernier message: 21/12/2009, 14h25
  3. impossible de mettre deux valeur dans une input
    Par mioke dans le forum Général Java
    Réponses: 4
    Dernier message: 03/11/2009, 12h22
  4. [WS 2008] Impossible de mettre des machines dans mon domaine
    Par dédutant dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 18/10/2009, 11h59
  5. Impossible de mettre du code dans <HEAD>
    Par sunshine33 dans le forum Général JavaScript
    Réponses: 17
    Dernier message: 02/06/2006, 11h31

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