2012-11-21 23 views
1

我得到這個消息對於此代碼爲「成本」的最後一部分,轉換方法錯誤信息

在類型轉換的方法toDoubleString(雙,布爾)不適用於參數(雙人間, int),

不知道如何解決這個問題。如果我拿出來,我收到這條消息,

類型Convert中的方法toLeftPaddedString(String,int)不適用於參數(Double,int)。

幫助,謝謝。

public String printSummaryOutput() { 
    return Convert.toRightPaddedString(make, 8) + printSummaryOutput() + 
       Convert.toRightPaddedString(model, 11) + Convert.toLeftPaddedString(color, 6) + 
       Convert.toLeftPaddedString(purchaseDate, 10) + Convert.toLeftPaddedString(Convert.toDoubleString(cost, 10)); 
} 
+2

您是否閱讀過此消息?你不瞭解什麼部分? – SLaks

+1

'toDoubleString'需要一個**布爾**作爲第二個參數,而不是一個整數。您正在傳遞'10'而不是'true'或'false'。其他方法也一樣。解決方案:不要傳遞整數或更正方法簽名(如果您寫了它)。 –

+0

改進這篇文章的標題來解釋問題 - 人們點擊它的方式。 – nickhar

回答

1

爲了記錄,我們不知道Convert類是什麼,也不知道它的方法期望什麼參數。

然而,有些東西告訴我,而不是...

Convert.toLeftPaddedString(Convert.toDoubleString(cost, 10)) 

...你的意思是不是......

Convert.toLeftPaddedString(Convert.toDoubleString(cost), 10) 

...因爲Convert.toLeftPaddedString其他調用不接受第二個參數的整數參數。

正如其他人所說,根據錯誤消息,您需要提供一個boolean第二個參數Convert.toDoubleString,但該方法可能會過載;我們不能沒有更多的信息。

+0

我使用教授的模板。無論如何感謝所有的幫助和評論,這工作,「Convert.toLeftPaddedString(Convert.toDoubleString(cost,false),10);」 – user1830008

0

在您的代碼中,您正在調用方法Convert.toDoubleString(cost, 10)。此方法預計您將它作爲2個參數傳遞給doubleboolean,但是您要給它一個Doubleint

因此,您需要更改方法調用給它正確的價值觀,這樣的事情也許......

Convert.toDoubleString(cost.doubleValue(), true); 

同樣的道理也適用於你的所有其他方法,如toLeftPaddedString() - 確保你正在給該方法提供正確的類型。

+0

感謝您的幫助! – user1830008

0

「的類型轉換的方法toDoubleString(雙,布爾)不適用於參數(雙人間,INT)」

如果你的方法toDoubleString收到doubleboolean。您應該調用此方法,通過doubleboolean,而不是doubleint。您正處於逆境狀態,編譯器正在幫助您。