В течение нескольких часов исследований я не мог найти ответ, который я ищу, поэтому я смиренно прошу людей этого великого форума получить идеальный ответ.Подсчет числа целых чисел в массиве
Примечание: нет отображения, нет сортировки
Вот мой код:
public static void countArray(int[] n){
int[] m = new int[n.length]; //50 elements of integers between values of 10 & 20
int count = 0;
int sum = 0;
for (int i = 0; i < n.length ; i++){
m[i] = n[i]; //make a copy of array 'n'
System.out.print(m[i]+" ");
}System.out.println();
for (int j =0; j < n.length ; j++){
count =0;
for(int i = 0; i < n.length ; i++){
if (n[j]%m[i]==0 && n[j] == m[i])
count++;
}if (n[j]%m[j] == 0)
System.out.println(m[j] + " occurs = " + count);
}
}
Так что проблема: я получаю повторяющиеся результаты, как: "25 происходит = 5", на разных линиях.
Что я думаю: проблема возникает из-за if (n[j]%m[j] == 0)
поэтому я попробовал if (n[j]%m[j+1] == 0)
. Другая проблема возникает, так как m[j]
будет m[50]
, поэтому он падает, но вроде дайте мне результаты, которые я хочу.
Результат, который я хочу: что-то вроде этого: нет повторений и охватывает все случайные целые числа на множестве
17 occurs = 3
23 occurs = 2
19 occurs = 3
15 occurs = 2
12 occurs = 2
Я ценю все положительные и отрицательные комментарии. PS новое для программирования Java
«* нет отображения, нет сортировки *» Вы просто не исключало разумные решения. Почему вы не можете использовать их? – Radiodef
Во-первых, нет идеального ответа. Во-вторых, что вы думаете, что n [j]% m [j] делает для вас? Вы не прокомментировали свой код, поэтому очень сложно следовать подходу, который вы пытаетесь сделать. – CandiedOrange
@ Radiodef пока не узнал. и CandiedOrange Я думаю, что это просто проверка себя, знаете, что я имею в виду? –