float[][][] liness=linefloat(
"111",
"222") ;
System.out.println(
"等值线的数量是:"+liness.length);
for (
int j=
0;j<liness.length;j++)
float[][] lines =liness[j];
System.out.println(
"第"+j+
"个线:");
System.out.println(
"第"+j+
"个线里点的个数是:"+lines.length);
for(
int k=
0;k<lines.length;k++)
float[] line =lines[k];
System.out.println(
"第"+j+
"个线:里有"+line.length+
"个点");
for(
int m=
0;m<line.length;m++)
System.out.println(
"第"+m+
"个点:的坐标是:"+line[m]);
2.等java代码编译之后生成class文件之后,调用javah方法编译成c++的头文件,编译时需要注意如果java类在一个包下面,需要带上包名称如:cn.gov.cma.cnn.webgis.active.TestHello,并且先用cd命令进入包外面的文件夹里编译,即在class文件下编译。
编译之后在clss下生成:cn_gov_cma_cnn_webgis_active_TestHello.h文件,
#include <jni.h>
#ifndef _Included_cn_gov_cma_cnn_webgis_active_TestHello
#define _Included_cn_gov_cma_cnn_webgis_active_TestHello
#ifdef __cplusplus
extern
"C" {
#endif
JNIEXPORT jobjectArray JNICALL Java_cn_gov_cma_cnn_webgis_active_TestHello_linefloat
(JNIEnv *, jclass, jstring, jstring);
#ifdef __cplusplus
#endif
#endif
JNIEXPORT jobjectArray JNICALL Java_cn_gov_cma_cnn_webgis_active_TestHello_linefloat(JNIEnv *env, jclass cls, jstring jMsg2, jstring jMsg3)
jclass intArrCls2 = env->FindClass(
"[[F");
jobjectArray one = env->NewObjectArray(2, intArrCls2, NULL);
for(
int k=0;k<2;k++)
jclass intArrCls = env->FindClass(
"[F");
jobjectArray second = env->NewObjectArray(10, intArrCls, NULL);
for (
int i = 0; i < 10; i++) {
jfloat tmp[256];
jfloatArray iarr = env->NewFloatArray(3);
tmp[0] = 21.0;
tmp[1] = 31.0;
tmp[2] = 41.0;
env->SetFloatArrayRegion(iarr, 0, 3, tmp);
env->SetObjectArrayElement(second, i, iarr);
env->DeleteLocalRef(iarr);
env->SetObjectArrayElement(one, k, second);
env->DeleteLocalRef(second);
return one;