Я новичок в java, и у меня есть домашнее задание, где мне нужно найти Среднее, медианное и Режим Массив. По какой-то причине мой код не выдает правильный ответ.Как вы находите режим массива в java?
Вот код, я был предоставлен для создания массивов:
public static void main(String[] args) {
int[] test01 = new int[]{2,2,2,2,2};
int[] test01Results = new int[]{2,2,2,2};
int[] test02 = new int[]{1,2,1,3,5,6,6,1,2,2,2,99,100};
int[] test02Results = new int[]{2,2,17,100};
int[] test03 = new int[]{100,200,300,400,300};
int[] test03Results = new int[]{300,300,260,400};
int[] test04 = new int[]{100};
int[] test04Results = new int[]{100,100,100,100};
int[] test05 = new int[]{100,1};
int[] test05Results = new int[]{1,100,50,100};
Вот что я придумал, чтобы попытаться вычислить режим:
public int mode() {
int result = 0;
// Add your code here
int repeatAmount = 0; //the amount of repeats accumulating for the current i
int highestRepeat=0; // the highest number of repeats so far
for (int i=0; i<numberArray.length; i++) {
for (int j=i; j<numberArray.length; j++) {
if (i != j && numberArray[i] == numberArray[j]) {
repeatAmount++;
if (repeatAmount>highestRepeat) {
result=numberArray[i];
}
repeatAmount = highestRepeat;
}
repeatAmount=0; // resets repeat Count for next comparison
}
}
return result;
}
Я получаю правильный результаты тестов 1, 2 и 3, но получение неправильного результата для тестов 4 и 5. Кто-нибудь знает, что я делаю неправильно?
Спасибо!
Возможный дубликат: http://stackoverflow.com/questions/15725370/write-a-mode-method-in-java-to-find-the-most-frequently-occurring-element-in-an – prabodhprakash
У него есть сделал свою домашнюю работу, но столкнулся с некоторыми проблемами @Shadetheartist –
@rish понятный, но prabod смог найти возможный дубликат через минуту, поэтому он показывает, что OP не прилагал достаточных усилий для исследования своей проблемы до публикации вопроса. – Shadetheartist