我试图将一个数组中最低的五个数字(它们是数组对象)自己放入一个数组中。这是我的代码,这是在将数组对象拉入自己的数组并按升序对该数组进行排序之后。从那里我试图保持阵列中最低的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
答案 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);
试一试希望这可能有助于而不是切片方法。