Java Array Slice错误

时间:2016-02-17 01:07:29

标签: java arrays

我试图将一个数组中最低的五个数字(它们是数组对象)自己放入一个数组中。这是我的代码,这是在将数组对象拉入自己的数组并按升序对该数组进行排序之后。从那里我试图保持阵列中最低的5个项目。如果有5个或更多分数,我认为切割数组以保持前5个是最简单的方法,如果小于5,只需从一个数组复制到另一个数组。

  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

2 个答案:

答案 0 :(得分:2)

尝试使用Arrays.copyOf

在你的代码中

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

根据javadocs

  

原始数组的副本,用零填充或填充以获取   指定的长度

顺便说一下slice是一个javaScript方法。

答案 1 :(得分:1)

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


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

试一试希望这可能有助于而不是切片方法。