如果这个问题是重复的,我很抱歉,但我正在尝试找到数组的模式。此方法将整数数组作为输入,并返回作为数组模式的整数。以下是我的代码:
public static int mode(int[] abc) {
int count = 1;
int number = 0;
int finalCount = 0;
int finalNum = 0;
for(int i = 0; i < abc.length; i++) {
int j = 0;
for(int k = i + j; k < abc.length; j++) {
int x = abc[i];
if(x == abc[k]) {
number = x;
count++;
}
}
if(count > finalCount) {
finalCount = count;
finalNum = number;
}else if(count == finalCount && count > 0 && i != abc.length - 1) {
if(finalNum > number) {
finalNum = number;
}
}else if(count == finalCount && count == 0 && i == abc.length - 1) {
for(int l = 0; l < abc.length - 1; l++) {
int m = abc[0];
if(m > abc[l + 1]) {
finalNum = abc[l + 1];
}else {
finalNum = m;
}
}
}
}
return finalNum;
}
显然,这个方法说它需要返回int类型的结果。但是如果我已经将finalNum(应该是模式)返回,那为什么它会给我这个错误呢?