python代码转成java_如何实现Java代码转换成python代码
之前小編告訴大家最初是學(xué)Java的,現(xiàn)在轉(zhuǎn)向python,那對(duì)于兩者之間有什么互通的嘛?其實(shí)有,比如可以將Java轉(zhuǎn)成python代碼,一起來(lái)看下吧。
首先給大家?guī)?lái)一組示例演示。
Java代碼如下:package?program.calculation.exercise22;
import?java.util.Scanner;
/**
*?22.讀取5個(gè)數(shù)(1—50)的整數(shù)值,每讀取一個(gè)值,?程序打印出該值個(gè)數(shù)的*。
*/
public?class?StarPrint?{
public?static?void?main(String[]?args)?{
System.out.println("請(qǐng)輸入5個(gè)整數(shù)(1-50):");
@SuppressWarnings("resource")
Scanner?scanner?=?new?Scanner(System.in);
int[]?arr?=?new?int[5];
for(int?i=0;i
arr[i]?=?scanner.nextInt();
}
printStar(arr);
}
//打印*
private?static?void?printStar(int[]?arr)?{
for(int?i=0;i
System.out.println(arr[i]);
for?(int?j=0;?j
System.out.print("*");
}
System.out.println();
}
}
}
Python代碼轉(zhuǎn)換如下:ls=[]
for?i?in?range(5):
n=int(input('輸入dao一個(gè)整回?cái)?shù)答'))
ls.append(n)
for?i?in?ls:
for?j?in?range(i):
print('*',end='')
print('\n')
運(yùn)行結(jié)果:
需要注意:
1、在java類(lèi)中直接執(zhí)行python語(yǔ)句,需要引用 org.python包,需要下載Jpython。
如果使用maven依賴(lài)添加的話(huà),使用下面的語(yǔ)句
org.python
jython-standalone
2.7.0
以上準(zhǔn)備好了,就可以直接在java類(lèi)中寫(xiě)python語(yǔ)句了,具體代碼如下:PythonInterpreter?interpreter?=?new?PythonInterpreter();
interpreter.exec("a=[5,2,3,9,4,0];?");
interpreter.exec("print(sorted(a));");??//此處python語(yǔ)句是3.x版本的語(yǔ)法
interpreter.exec("print?sorted(a);");???//此處是python語(yǔ)句是2.x版本的語(yǔ)法
2、使用Runtime.getRuntime()執(zhí)行腳本文件
為了驗(yàn)證該方法可以運(yùn)行含有python第三方庫(kù)的程序,我們先寫(xiě)一個(gè)簡(jiǎn)單的python腳本,代碼如下:import?numpy?as?np
a?=?np.arange(12).reshape(3,4)
print(a)
可以看到程序中用到了numpy第三方庫(kù),并初始化了一個(gè)3×4的一個(gè)矩陣。
下面來(lái)看看怎么用Runtime.getRuntime()方法來(lái)調(diào)用python程序并輸出該結(jié)果,java代碼如下:import?java.io.BufferedReader;
import?java.io.IOException;
import?java.io.InputStreamReader;
public?class?Demo1?{
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
Process?proc;
try?{
proc?=?Runtime.getRuntime().exec("python?D:\\demo1.py");//?執(zhí)行py文件
//用輸入輸出流來(lái)截取結(jié)果
BufferedReader?in?=?new?BufferedReader(new?InputStreamReader(proc.getInputStream()));
String?line?=?null;
while?((line?=?in.readLine())?!=?null)?{
System.out.println(line);
}
in.close();
proc.waitFor();
}?catch?(IOException?e)?{
e.printStackTrace();
}?catch?(InterruptedException?e)?{
e.printStackTrace();
}
}
}
輸出的結(jié)果如下圖所示:
即運(yùn)行成功~
同時(shí)存在兩個(gè)python,而不想用默認(rèn)的那個(gè),也不想修改默認(rèn)的python解釋器,這種情況下,可以寫(xiě)一個(gè)bat文件,在bat文件中通過(guò)dos命令切換到該python所在目錄,然后運(yùn)行py文件(py文件要放在該目錄下)
bat文件:@echo?off
C:
cd?C:\Anaconda2\envs\py3
start?python?test.py
Exit
跟著以上示例,大家可以嘗試將Java代碼轉(zhuǎn)為python試試看哦~如需更多python實(shí)用知識(shí),點(diǎn)擊進(jìn)入PyThon學(xué)習(xí)網(wǎng)教學(xué)中心。
總結(jié)
以上是生活随笔為你收集整理的python代码转成java_如何实现Java代码转换成python代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 合成孔径成像算法与实现_声呐二维成像技术
- 下一篇: 12306订票候补是个坑_加30元就能抢