我在与Jython的这个随机java的东西的问题。 我在python编码bukkit插件。 下面的代码:
class hween(PythonPlugin):
def CandyChance(self):
chance = self.cfg.getDouble("main.candydropchance", 50) / 100 #in config, it's 10, so I must do this to get it like 0.1...
return chance
@hook.event("block.BlockBreakEvent", "HIGHEST")
def onBlockBreakEvent(event):
chance = pyplugin.CandyChance()
print chance #When I print chance out, it's 0.1 (10 is in config) which is good I believe
if(Random.nextDouble("%s"%chance)):
#do something
这里是再现您的错误一个交互式的Jython会话:
Jython 2.7b1 (default:ac42d59644e9, Feb 9 2013, 15:24:52)
[Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)] on java1.7.0_25
Type "help", "copyright", "credits" or "license" for more information.
>>> from java.util import Random
>>> Random.nextDouble("0.1")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: nextDouble(): self arg can't be coerced to java.util.Random
>>> Random.nextDouble()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: nextDouble(): expected 1 args; got 0
>>> Random().nextDouble()
0.3442604857098639
>>>
该nextDouble()
方法也不是一成不变的,它不带任何参数。 你将不得不重新考虑如何使用“这个随机java的事”(目前还不清楚是什么你正在尝试做的)。