這是pascal或者delphi語言編寫的。

創(chuàng)新互聯(lián)是專業(yè)的陸川網(wǎng)站建設(shè)公司,陸川接單;提供網(wǎng)站制作、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行陸川網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
要改成C或JAVA的代碼倒是不難,難是的C中的數(shù)據(jù)類型與這個程序中所用到的類型不一樣啊。
var max,len,n:int64; C代碼為 _int64 max,len,n;//占64bit的特殊整型變量
i,j:longint; C代碼為 long int i,j;//占32位的長整型變量
w,v,f:array[0..1000]of extended; C代碼為可以為 long double w[1001],v[1001],f[1001];//程序本意是占10字節(jié)的大浮點型數(shù)據(jù)類型,C編譯器有時為8字節(jié),有時為10字節(jié),JAVA會為多少節(jié)字就不知道了
minv,t:extended;C代碼為 long double minv,t;//同上
begin 以下的代碼變成C代碼比較麻煩了,就不變了。 你自已用C重寫就好了
assign(input,'CONVOY.in'); //打開文件讀
reset(input);
assign(output,'CONVOY.out'); //打開文件寫
rewrite(output);
read(max,len,n); //讀in文件長度
for i:=1 to n do
read(w[i],v[i]);
f[0]:=0;
f[1]:=len/v[1];
for i:=2 to n do
begin
f[i]:=1e24;
minv:=1e24;
t:=0;
for j:=i downto 1 do
begin
t:=t+w[j];
if v[j]minv then minv:=v[j];
if tmax then break;
if minv0 then if f[j-1]+len/minvf[i] then f[i]:=f[j-1]+len/minv;
end;
end;
writeln(f[n]*60:0:1);
close(input);
close(output);
end.
libMyNative.so:MyNative.o makefile gcc -Wall -rdynamic -shared -o libMyNative.so MyNative.o MyNative.o:MyNative.c MyNative.h gcc -Wall -c MyNative.c -I./ -I/sandbox/JAVA2S/jdk1.6.0_16/include -I/sandbox/JAVA2S/jdk1.6.0_16/include/linuxcl:rm -rf *.o *.so libMyNative.so:MyNative.o makefile gcc -Wall -rdynamic -shared -o libMyNative.so MyNative.o MyNative.o:MyNative.c MyNative.h gcc -Wall -c MyNative.c -I./ -I/sandbox/JAVA2S/jdk1.6.0_16/include -I/sandbox/JAVA2S/jdk1.6.0_16/include/linuxcl:rm -rf *.o *.so 其中,“/sandbox/JAVA2S/jdk1.6.0_16”為JDK安裝目錄 “l(fā)ibMyNative.so”是Java類中static {System.loadLibrary("MyNative");}靜態(tài)方法中參數(shù)+lib 五、修改.bash_profile文件,配置環(huán)境變量,由于生成的.so文件在當前目錄下,故 .bash_profile文件設(shè)置如下 export LD_LIBRARY_PATH=./ 六、執(zhí)行java MyNative命令,結(jié)果如下
void main()
{
int a ,b,c,x,y,z,i,j=0;
for (a=1;a=9;a++ )
{
for (b=0;b=9;b++ )
{
if(a==b){
continue;
}
x=a*100+b*11;
y=a*101+b*10;
z=a*110+b;
for(i=10;i32;i++){
c=i*i;
if ((c==x)||(c==y)||(c==z))
{
r(c);
printf("%d",c);
++j;}
}
}
}r(j);printf("%d",j);
}
int r(int d)
{return d;}
}
這樣應(yīng)該可以了
Java Native Interface(JNI)是Java語言的本地編程接口,是J2SDK的一部分。在java程序中,我們可以通過JNI實現(xiàn)一些用java語言不便實現(xiàn)的功能。通常有以下幾種情況我們需要使用JNI來實現(xiàn)。 標準的java類庫沒有提供你的應(yīng)用程序所需要的功能,通常這些功能是平臺相關(guān)的 你希望使用一些已經(jīng)有的類庫或者應(yīng)用程序,而他們并非用java語言編寫的 程序的某些部分對速度要求比較苛刻,你選擇用匯編或者c語言來實現(xiàn)并在java語言中調(diào)用他們 下面我們開始編寫HelloWorld程序,由于涉及到要編寫c/c++代碼因此我們會在開發(fā)中使用Microsoft VC++工具。編寫java代碼,我們在硬盤上建立一個hello目錄作為我們的工作目錄,首先我們需要編寫自己的java代碼,在java代碼中我們會聲明native方法,代碼非常簡單。如下所示 class HelloWorld { public native void displayHelloWorld(); static { System.loadLibrary("hello"); } public static void main(String[] args) { new HelloWorld().displayHelloWorld(); } } 注意我們的displayHelloWorld()方法的聲明,它有一個關(guān)鍵字native,表明這個方法使用java以外的語言實現(xiàn)。方法不包括實現(xiàn),因為我們要用c/c++語言實現(xiàn)它。注意System.loadLibrary("hello")這句代碼,它是在靜態(tài)初始化塊中定義的,系統(tǒng)用來裝載hello共享庫,這就是我們在后面生成的hello.dll(如果在其他的操作系統(tǒng)可能是其他的形式,比如hello.so) 編譯java代碼 javac HelloWorld.java 生成HelloWorld.class文件 創(chuàng)建.h文件 這一步中我們要使用javah命令生成.h文件,這個文件要在后面的c/c++代碼中用到,我們運行 javah HelloWorld。這樣我們可以看到在相同目錄下生成了一個HelloWorld.h文件,文件內(nèi)容如下 在此我們不對他進行太多的解釋。 /* DO NOT EDIT THIS FILE - it is machine generated */ #include /* Header for class HelloWorld */ #ifndef _Included_HelloWorld #define _Included_HelloWorld #ifdef __cplusplus extern "C" { #endif /* * Class: HelloWorld * Method: displayHelloWorld * Signature: ()V */ JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld (JNIEnv *, jobject); #ifdef __cplusplus } #endif #endif 編寫本地實現(xiàn)代碼 在這部分我們要用C/C++語言實現(xiàn)java中定義的方法,我們在VC++中新建一個Project,然后創(chuàng)建一個HelloWorldImp.cpp文件,內(nèi)容如下 #include #include "HelloWorld.h" #include JNIEXPORT void JNICALL Java_HelloWorld_displayHelloWorld(JNIEnv *env, jobject obj) { printf("Hello world!\n"); return; } 注意我們這里include了 jni.h和剛才得到的HelloWorld.h文件。因此你要在VC++里面設(shè)置好,jni.h在JAVA_HOME/include里面。編譯通過后再生成hello.dll文件。 運行java程序 把上面生成的hello.dll文件復制到我們的工作目錄,這時候我們的目錄中包括HelloWorld.java,HelloWorld.class和hello.dll文件。運行java HelloWorld命令,則可在控制臺看到Hello world| 的輸出了。運行VC++; 文件---新建---選“win32 console application”(控制臺程序)---在右方設(shè)置好路徑并輸入工程名---確定 接下來的幾個提示框點確定就行了,那是提示是否要用VC++提供的框架之類的 在左邊的工作空間中選“FILEVIEW”標簽項,點開“+”號,右鍵點擊“SOURCE FILES”,選“添加文件到目錄”,此即添加你要建立的C++源程序文件,會提示你沒有文件,是否添加,你點是,輸入文件名保存就OK了 然后SOURCE FILES下就出現(xiàn)了你剛才建立的*.CPP文件,雙擊,輸入代碼. 以下就是點”組建”菜單中的”編譯”、”組建”等命令進行調(diào)試了。 相信你會了。
本文題目:java和c代碼切換,java轉(zhuǎn)c++代碼
鏈接地址:http://chinadenli.net/article43/dsgdces.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、網(wǎng)站營銷、面包屑導航、動態(tài)網(wǎng)站、域名注冊
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)