2016-02-17 86 views
0

我試圖從一個數組(它們是數組對象)將最低的五個數字自己放到數組中。這是我的代碼,這是在將數組對象拉入自己的數組並將數組按升序排序後。從那裏我試圖保持數組中最低的5個項目。如果有5個或更多的分數,我想劃分數組以保持前5個將是最簡單的方法,如果少於5個,只需從一個數組複製到另一個數組。Java Array Slice錯誤

if(scoreID > 5){ 
    int lowestScores = scoreArray.slice(0,6); 
    } 
    else { 
    for(int i=0;i<scoreID;i++) { 
     int[] lowestScores = new int[scoreID]; 
     lowestScores[i] = scoreArray[i];} 
    } 

scoreID只是主數組存儲分數的佔位符。

我得到的錯誤是...

Golfer.java:194: error: cannot find symbol 
    int lowestScores = scoreArray.slice(0,6); 
           ^
symbol: method slice(int,int) 
location: variable scoreArray of type int[] 
1 error 
+1

將其更改爲int [] lowestScores = scoreArray.slice(0,6);' –

+0

您試圖將int []指定給int變量。 –

+0

除非您自己實現,否則Java中不存在'slice()'方法。 –

回答

2

嘗試使用Arrays.copyOf

在你的代碼

int[] lowestScores = Arrays.copyOf(scoreArray, 5); 

按的javadoc

副本原始數組的截斷或填充零,以獲得 指定的長度

順便說slice是JavaScript方法。

+0

謝謝,將標記答案。沒意識到片是JS而不是java。 –

1
int [] b = new int [] {0, 1, 2, 3, 4, 5}; 


int [] copiedto = Arrays.copyOfRange(b, 0, 4); 

試試看,希望這可能有助於而不是切片方法。