| 
class JavaSumme {
int n;
double[] X; double[] Y;
double sp;
public JavaSumme(){
  	n=3;
  	X=null;
  	Y=null;
}
public void run(){
  	double[] X = new double[n];
  	double[] Y = new double[n];
  	double[] erg = new double[n];
  	X[0]=4;X[1]=2;X[2]=3;
  	Y[0]=1;Y[1]=6;Y[2]=3;
  	erg=myjavasumme(X, Y);
  	System.out.println("Skalarprodukt:ende");
        System.out.println("nach mysp:0="+erg[0]);
        System.out.println("nach mysp:1="+erg[1]);
        System.out.println("nach mysp:1="+erg[2]);
  	//System.out.println(sp);
}
public static void main(String [] args){
    	JavaSumme meinsp = new JavaSumme();
    	meinsp.run();
}
public  double[]  myjavasumme(double[] x, double[] y){
	//double ssp;
	int dim=x.length;
	double[] erg;
 	erg=summe(x,y,dim);
        System.out.println("nach mysp:dim="+dim);
        System.out.println("nach mysp:0="+erg[0]);
        System.out.println("nach mysp:1="+erg[1]);
	return(erg);
}
static{
//	System.loadLibrary("meinebib");
	System.load("/home/ries/jcppf90summe/libmeinebib.so");
}
public native double[] summe(double[] x, double[] y, int n); 
}
 | 
| #include | 
| 
 subroutine mysp3(x,y,n,summe)
 implicit none
 integer n
 double precision :: summe(n)
 double precision :: x(n), y(n)
 integer i
    do i=1, n
      summe(i)=x(i)+y(i)
    end do
    n=n+1
 end subroutine mysp3
 | 
| 
export .:LD_LIBRARY_PATH=/opt/lib/NAGWare:$LD_LIBRARY_PATH
javac JavaSumme.java
javah JavaSumme
f95 -c mysp3.f90
c++ -shared -o libmeinebib.so -I/usr/lib/jdk1.3.1/include \
     -I/usr/lib/jdk1.3.1/include/linux                    \
     javasumme.cpp mysp3.o -L/opt/lib/NAGWare -lf95       \
java JavaSumme
 |