我寫了以下內容,但Java不喜歡它!Java - 這個變量初始化代碼有什麼問題?
int limit = Math.round(Math.sqrt(inputNumber));
從我的IDE建議對的(int)
鑄造添加到右側,但我的印象是,Math.round
將格式化數字爲整數呢?
我寫了以下內容,但Java不喜歡它!Java - 這個變量初始化代碼有什麼問題?
int limit = Math.round(Math.sqrt(inputNumber));
從我的IDE建議對的(int)
鑄造添加到右側,但我的印象是,Math.round
將格式化數字爲整數呢?
Math.sqrt(x)
返回double
。有幾個超載的功能。以double
作爲參數的那個將返回long
,而不是int
。
靜態長的API:輪(雙一)
靜態INT:圓形(浮起)靜態雙:SQRT(雙一)
Math.sqrt返回double。
當您向Math.round發送一個double時,它將返回一個長。
所以,Math.round(Math.sqrt(inputNumber))
返回一個很長的時間,並且您必須將其轉換爲整數。
因爲Math.sqrt
返回double
的Math.round
版本被調用返回一個long
,但是你想把它變成一個int
,因此IDE建議。
只看文檔,sqrt返回double,round(double)返回long .. – user1130005 2012-02-04 22:40:13