我试图计算一个大小为6的数组中,数字1到6(包括1和6)的出现次数。我希望返回一个数组,其中每个索引表示该数字出现的次数,但是索引0表示数字1的出现次数。
示例:
示例:
输入: [3,2,1,4,5,1,3]
期望输出: [2,1,2,1,1,0]
.
问题:
下面的代码片段输出[1,1,3,0,1,0]
。我应该如何修复它? 我找不到哪里错了。
public static int arrayCount(int[] array, int item) {
int amt = 0;
for (int i = 0; i < array.length; i++) {
if (array[i] == item) {
amt++;
}
}
return amt;
}
public int[] countNumOfEachScore(){
int[] scores = new int[6];
int[] counts = new int[6];
for (int i = 0; i < 6; i++){
scores[i] = dice[i].getValue();
}
for (int j = 0; j < 6; j++){
counts[j] = arrayCount(scores, j+1);
}
return counts;
}
dice[]是一个Die对象的数组,它有一个名为getValue()的方法,返回一个介于1到6之间(包括1和6)的整数。counts[]是错误内容的int数组。