如何实现Java代码转换成python代码

之前小编告诉大家最初是学Java的,现在转向python,那对于两者之间有什么互通的嘛?其实有,比如可以将Java转成python代码,一起来看下吧。

首先给大家带来一组示例演示。

Java代码如下:

package program.calculation.exercise22;
 
import java.util.Scanner;
 
/**
* 22.读取5个数(1—50)的整数值,每读取一个值, 程序打印出该值个数的*。
*/
 
public class StarPrint {
public static void main(String[] args) {
 
System.out.println("请输入5个整数(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代码转换如下:

ls=[]
 
 
for i in range(5):
 
 
    n=int(input('输入dao一个整回数答'))
 
 
    ls.append(n)
 
 
for i in ls:
 
 
    for j in range(i):
 
 
         print('*',end='')
 
print('
')

运行结果:

需要注意:

1、在java类中直接执行python语句,需要引用 org.python包,需要下载Jpython。

如果使用maven依赖添加的话,使用下面的语句

<dependency>
    <groupId>org.python</groupId>
    <artifactId>jython-standalone</artifactId>
    <version>2.7.0</version>
</dependency>

以上准备好了,就可以直接在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()执行脚本文件

为了验证该方法可以运行含有python第三方库的程序,我们先写一个简单的python脚本,代码如下:

import numpy as np
 
a = np.arange(12).reshape(3,4)
print(a)

可以看到程序中用到了numpy第三方库,并初始化了一个3×4的一个矩阵。

下面来看看怎么用Runtime.getRuntime()方法来调用python程序并输出该结果,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");// 执行py文件
            //用输入输出流来截取结果
            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();
        }
    }
}

输出的结果如下图所示:

即运行成功~

同时存在两个python,而不想用默认的那个,也不想修改默认的python解释器,这种情况下,可以写一个bat文件,在bat文件中通过dos命令切换到该python所在目录,然后运行py文件(py文件要放在该目录下)

bat文件:

@echo off  
C:
cd C:Anaconda2envspy3
start python test.py
Exit

跟着以上示例,大家可以尝试将Java代码转为python试试看哦~如需更多python实用知识,点击进入云海天Python教程网。

来源:PY学习网:原文地址:https://www.py.cn/article.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 如何实现Java代码转换成python代码