2014-01-10 90 views
0

我正在创建一个基于电影InTime的minecraft插件,并且正在尝试创建代码,在玩家死亡时玩家将失去25%的时间。Java乘法

当前的代码:

String minus = itapi.getTimeString(player.getName()); 
itapi.removeTime(player.getName(), itapi.getDeathTime()); 
ItemStack book = itapi.createTimeCard("Death of " + player.getName(), minus, 1); 
itapi.removeTime(player.getName(), minus * 0.25); 
e.getDrops().add(book); 

虽然4个线标志 “The operator * is undefined for the argument type(s) String, double

我知道这是probally一个真正的简单修复,但IM的想法有什么建议?

TimeString必须是一个string

回答

3

您无法通过任何乘以String。您需要将其转换为double,然后用Double.parseDouble乘以:

Double.parseDouble(minus) * 0.25 

确保处理任何NumberFormatExceptions如果minus不能表示为一个数字。

1

您将minus定义为字符串,然后执行String * a double。你不能乘以一个String乘以double。将TimeString转换为实际值,如int seconds,然后您可以对其进行数学运算。