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 :

parcourir un tableau d'objets verticalement


Sujet :

API standards et tierces Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 91
    Par défaut parcourir un tableau d'objets verticalement
    Bonjour ,

    Je travaille d'une application de bourse qui utilise l'api JNI pour communniquer entre mes classes Java et mes methodes C.Et je voudrais parcourir mon tableaux de double en 2 dimensions ( consideré en jni comme tableau d'objets) verticallement ,mais je n'arrive pas il me donne comme resultat des chiffres bizzare.est ce que vous pouvez m'aider?

    Voici le code de ma methode C

    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
    JNIEXPORT jobjectArray JNICALL Java_portefeuille_JniTabVariation_JniTab
    (JNIEnv *env, jclass cls, jobjectArray tab ){
        int i,j;
     
        int len1 = (*env)->GetArrayLength(env, tab);
        jdoubleArray colone = (*env)->GetObjectArrayElement(env,tab, 0);
        int len3 = (*env)->GetArrayLength(env,colone);
        printf("%i \n",len1);
        printf("%i \n",len3);
        for (j=0; j<len3-1; j++) {
            jdoubleArray colonne = (*env)->GetObjectArrayElement(env,tab, j);
    /*
            int lenn3 = (*env)->GetArrayLength(env,colone);
    */
            jdouble *element = (*env)->GetDoubleArrayElements(env,colonne, 0);
    /*
            printf("%f \n",element[j]);
    */
            for(i=0; i<len1; i++){
                     jdouble res = ((element[i+1]/element[i])-1)*100;
                  //traitement avec le jint
                printf("%f\n",element[i]);
    /*
                printf("%i %i \n ",j,i);
    */
            }
     
        }
       return tab;
    }
    Cordialement

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    91
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 91
    Par défaut deuxieme version du code
    coucou c'est encore moi,j'ai changé un peu dans le code ce qui m'a permis de parcourir quand meme le tableau comme je voulais ( verticalement) ,mais quand mon tableau dépasse deux ligne j'obtien comme resultat des 0000.

    Code de la methode jni:

    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
     #include <stdio.h>
    #include <stdlib.h>
    #include "JniNative.h"
     
    JNIEXPORT jobjectArray JNICALL Java_portefeuille_JniTabVariation_JniTab
    (JNIEnv *env, jclass cls, jobjectArray tab ){
        int i,j;
     
        int len1 = (*env)->GetArrayLength(env, tab);
        jdoubleArray colone = (*env)->GetObjectArrayElement(env,tab, 0);
        int len3 = (*env)->GetArrayLength(env,colone);
        printf("%i \n",len1);
        printf("%i \n",len3);
        for (j=0; j<len3-1; j++) {
    /*
            jdoubleArray colone = (*env)->GetObjectArrayElement(env,tab, j);
            int lenn3 = (*env)->GetArrayLength(env,colone);
    */
     
    /*
            jdouble *element = (*env)->GetDoubleArrayElements(env,colone, 0);
    */
     
    /*
            printf("%f \n",element[j]);
    */
            for(i=0; i<len1; i++){
    /*
                     jdouble res = ((element[i+1]/element[i])-1)*100;
    */
           jdoubleArray colonne = (*env)->GetObjectArrayElement(env,tab,i);
            jdouble *element = (*env)->GetDoubleArrayElements(env,colonne, 0);
            printf("%f \n",element[len1]);
            //printf("%i %i \n ",j,i);
            }
     
        }
       return tab;
     
    }

    Le contenu du tableau a parcourir:

    +---------------+-------------------+
    | action_france | obligation_france |
    +---------------+-------------------+
    | 100.00 | 100.00 |
    | 99.10 | 99.10 |
    | 107.75 | 107.75 |
    | 111.37 | 111.37 |
    | 116.75 | 116.75 |
    | 118.43 | 118.43 |
    +---------------+-------------------+
    qu'en pensez vous alors?

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

Discussions similaires

  1. [2.x] Parcourir tableau d'objets
    Par sidguia dans le forum Symfony
    Réponses: 4
    Dernier message: 06/08/2012, 10h19
  2. Parcourir un tableau d'objet dans un tJavaFlex
    Par tetsu no tama dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 30/03/2011, 17h27
  3. [VB6]Tableau d'objet withevents
    Par soazig dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 13/02/2004, 19h44
  4. [langage] Parcourir un tableau
    Par Jibees dans le forum Langage
    Réponses: 13
    Dernier message: 22/04/2003, 14h18
  5. [VB6] [Syntaxe] Fonction renvoyant un tableau d'objets
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/10/2002, 15h33

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