【发布时间】:2017-03-01 04:57:02
【问题描述】:
我的代码似乎有问题,因为它没有正确打印。我正在尝试使用我们为类创建的另一种方法来查找数组的模式。
例如,具有元素 {4,4,4,5,5} 的数组将模式打印为 5 而不是 4。这是为什么呢?
public static int mode(int[] numbers) {
int winner = 0;
for(int i=1; i<numbers.length; i++){
winner = numbers[0];
if ( occr(numbers,numbers[i]) == occr(numbers,numbers[i-1]) ){
winner = numbers[i];}
else if( occr(numbers,numbers[i]) > occr(numbers,numbers[i-1]) ){
winner = numbers[i];}
else if( occr(numbers,numbers[i]) < occr(numbers,numbers[i-1]) ){
winner = numbers[i-1];}
}
return winner;
}
public static int occr(int[] numbers, int x){
int counter = 0;
for(int i = 0; i < numbers.length; i++){
if(numbers[i] == x){
counter++; }
}
return counter;
}
【问题讨论】: