溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Java代碼如何轉(zhuǎn)換成python代碼

發(fā)布時(shí)間:2020-10-28 09:33:52 來源:億速云 閱讀:1688 作者:小新 欄目:編程語言

這篇文章將為大家詳細(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é)果:

Java代碼如何轉(zhuǎn)換成python代碼

需要注意:

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é)果如下圖所示:

Java代碼如何轉(zhuǎn)換成python代碼

即運(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ò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(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)容。

AI