2014-01-10 37 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,然後您可以對其進行數學運算。