2017-04-10 35 views
-1

我在第4行收到一條錯誤消息,說「忘了.class,可能在最後。」有人可以告訴我解決方案是什麼嗎?忘了.class?

備註 - 已導入Java.util。

public double median(int[] arr) 
{ 
    int[] sortedArr = Arrays.sort(arr[]); 
    int arrayIndex = 0; 
    int halfArrayIndex = 0; 
    for(int i = 0; i < sortedArr.length; i++) 
    { 
     arrayIndex = i; 
    } 
    if(arrayIndex % 2 == 0) 
    { 
     halfArrayIndex = arrayIndex/2; 
     return sortedArr[half]; 
    } 
    else 
    { 
     halfArrayIndex = arrayIndex/2; 
     return ((double)sortedArr[half + 1] + sortedArr[half])/2; 
    } 
} 
+2

'arr []'沒有任何意義。 – SLaks

+0

int [] sortedArr = Arrays.sort(arr []);爲什麼不只是int [] sortedArr = Arrays.sort(arr); –

回答

3

這條線是不正確的:

int[] sortedArr = Arrays.sort(arr[]); 

它應該是:

Arrays.sort(arr); 

注意:

  • Arrays.sort()沒有返回值
  • 傳遞一個數組作爲時參數
  • 當數組排序,它會就地修改你不能寫[],記住這一點,因爲作爲參數傳遞給此方法原始數組將被改變此方法返回後,除非您複製它
+0

好的!說得通。非常感謝你! – TheRollerCodster

+0

他是對的。當你將數組作爲參數或參數傳遞時,你只需放置變量並省略括號。 – ApolloSoftware

+0

@TheRollerCodster如果這個答案對你有用,請不要忘記[接受](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)它,只是點擊左邊的複選標記;) –