之前小编告诉大家最初是学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('\n')
运行结果:
需要注意:
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:\Anaconda2\envs\py3 start python test.py Exit
跟着以上示例,大家可以尝试将Java代码转为python试试看哦~如需更多python实用知识,点击进入起源地模板网教学中心。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!