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) verticalement ,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:
#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);
}
}
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 |
+---------------+-------------------+
Merci de votre aide
Amicalement

