Я пытаюсь найти режим для своей программы, пользователь вводит количество чисел от 0 до 100 столько, сколько они хотят, я пытаюсь найти режим из этих чисел, но каждый раз, когда я пытаюсь найти режим, он возвращает мне 3, я нашел все остальное, мне просто нужна помощь с режимом.Как найти режим массива с использованием Java
import java.util.Scanner;
public class deveation {
public static void main(String Args[]) {
Scanner kbReader = new Scanner(System.in);
int sum = 0;
int bob[] = new int[101];
int total = 0;
int a = 0;
int min = 0;
int max = 100;
int mode = 0;
boolean stay_in_loop = true;
while (stay_in_loop) {
System.out.println("Please enter interger(s) from 0-100: ");
int number = kbReader.nextInt();
if (number < 0) {
stay_in_loop = false;
}
else {
total++;
bob[number]++;
}
}
int median = total/2 + 1;
while (median > 0) {
median -= bob[a];
a++;
}
a--;
boolean findit = true;
while (findit) {
if (bob[min] != 0)
findit = false;
else
min++;
}
boolean findme = true;
while (findme) {
if (bob[max] != 0)
findme = false;
else
max--;
}
for (int p = 0; p < 101; p++) {
if (bob[p] > mode) {
mode = bob[p];
}
for (int j = 0; j < 101; j++)
if (bob[j] <= mode)
//I don't know why I'm getting three for this
{
}
}
for (int i = 0; i < 101; i++) {
sum += bob[i] * i;
}
System.out.println(sum);
System.out.println(sum /= total);
System.out.println(a);
System.out.println(min);
System.out.println(max);
System.out.println(mode);
//You should start putting down these comments
}
}
Невозможно воспроизвести вашу проблему. Что вы имеете в виду, вы всегда получаете три? – Aify
В тот же день вышли два ответа, но вы не голосовали, не принимали и не отвечали - так подано. Поскольку комментатор говорит, что они не могут воспроизвести, голосование также закрывается. – halfer