2

我正在尝试使用 PyBee 的VOC转译器在 JVM 上运行的 Python 代码中生成随机数。目前看来,Python 模块似乎random不包括在内,那么如何生成随机数呢?

这是我尝试转换的代码:

from random import randrange

print(randrange(5))

这是我在 Java 中运行类文件时的错误:

Exception in thread "main" java.lang.ClassCastException: org.python.java.Module (in module: Unnamed Module) cannot be cast to org.python.Callable (in module: Unnamed Module)
    at python.example.module$import(example.py:3)
    at python.example.main(example.py)
4

1 回答 1

3

看起来我的 Python 代码可以访问所有标准的 Java 库,所以我只需random要用 Java 模拟模块。

from java.util import Random

r = Random()
randrange = r.nextInt

print(randrange(5))

如果我想在部署到 JVM 或 Android 之前在 Python 上测试我的代码,我可以将randrange()函数作为参数传入。

于 2018-04-07T04:30:20.560 回答