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
Bonjour,
Pourras-tu nous fournir plus de détail ? le code de ta classe JAVA, plus l'affichage bizarre que tu as.