2011-08-19 72 views
3

我需要使用Java中的GWT 2.3來計算指數。即:x^y。 Java中沒有本地強大的操作符,通常你必須導入java.lang.Math來使用pow()方法。但是你不能在GWT客戶端做到這一點(我認爲?)。如何計算GWT 2.3中的指數?

我通過創建我自己的pow()方法暫時解決了這個問題。但我猜測我寫的東西可能效率低下,不如原生解決方案好。

private long pow(int b, int e) { 
    long result = 1; 
    for (int i = 0; i < e; i++) { 
     result *= b; 
    } 
    return result; 
} 

所以我用Google搜索比我更好的解決方案,並發現使用第三方庫的幾個人如com.googlecode.gwt.math.Math。但我也發現其他人說這些庫只適用於GWT 2.0或更早的版本,因爲從2.1版本被集成到GWT中。但是我無法找到任何有關如何在2.3中使用這些集成數學庫的幫助。

我需要導入什麼?我該如何使用這些庫?我在哪裏可以找到關於這些的官方GWT文檔?他們真的集成嗎?還是應該繼續使用我自己的方法?

+0

它有點高效,但除非您反覆調用'pow',否則這不會很重要。請記住,對於方法溢出和結果錯誤,「e」不一定很大。 –

+0

你是說如果b^e大於一個長(10^63)? – VIBrunazo

+0

不... 2^63。現在想想在此之前有多少次迭代。 –

回答

2

GWT可以翻譯java.lang.Math.pow()。請參閱this page瞭解Java運行時庫的哪些部分可以通過GWT在Javascript中進行模擬。

+0

那完美的解決方案,非常感謝:) – VIBrunazo