您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)Java代碼如何轉(zhuǎn)換成python代碼,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
首先給大家?guī)硪唤M示例演示。
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.length;i++){ arr[i] = scanner.nextInt(); } printStar(arr); } //打印* private static void printStar(int[] arr) { for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); for (int j=0; j<arr[i]; 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類中直接執(zhí)行python語句,需要引用 org.python包,需要下載Jpython。
如果使用maven依賴添加的話,使用下面的語句
<dependency> <groupId>org.python</groupId> <artifactId>jython-standalone</artifactId> <version>2.7.0</version> </dependency>
以上準(zhǔn)備好了,就可以直接在java類中寫python語句了,具體代碼如下:
PythonInterpreter interpreter = new PythonInterpreter(); interpreter.exec("a=[5,2,3,9,4,0]; "); interpreter.exec("print(sorted(a));"); //此處python語句是3.x版本的語法 interpreter.exec("print sorted(a);"); //此處是python語句是2.x版本的語法
2、使用Runtime.getRuntime()執(zhí)行腳本文件
為了驗(yàn)證該方法可以運(yùn)行含有python第三方庫的程序,我們先寫一個(gè)簡單的python腳本,代碼如下:
import numpy as np a = np.arange(12).reshape(3,4) print(a)
可以看到程序中用到了numpy第三方庫,并初始化了一個(gè)3×4的一個(gè)矩陣。
下面來看看怎么用Runtime.getRuntime()方法來調(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文件 //用輸入輸出流來截取結(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解釋器,這種情況下,可以寫一個(gè)bat文件,在bat文件中通過dos命令切換到該python所在目錄,然后運(yùn)行py文件(py文件要放在該目錄下)
bat文件:
@echo off C: cd C:\Anaconda2\envs\py3 start python test.py Exit
關(guān)于Java代碼如何轉(zhuǎn)換成python代碼就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。