Как найти и посчитать дубликаты в двумерном массиве?
Привет, я пытаюсь пройти через двумерный массив (в частности, массив 4х4), и оба находят повторяющиеся числа, а затем подсчитывают количество повторений числа. Пока у меня есть 4 для петель, которыеРабота однако делай больше, чем я действительно хочу.
int counter1 =1;
String huh="";
for (int x = 0; x< dataTable.length; x++)
{
for (int y=0; y< dataTable.length; y++)
{
for (int z = 0; z< dataTable.length; z++)
{
for (int a=0; a< dataTable.length; a++)
{
if ( x != z && x !=a && y != z && y !=a)
{
if (dataTable[x][y] == dataTable[z][a])
{
counter1++;
}
}
}
}
if (counter1 > 1)
{
huh += ("\n " + dataTable[x][y] + " repeats " + counter1 + " times!");
}
counter1=1;
}
}
В основном это работает в том смысле, что оно сравнивает каждое число в моем массиве с любым другим числом, включая самого себя (но оператор if не позволяет ему считать себя). В основном мне нужен вывод, чтобы заявить что-то простое, как
The number 3 repeats 3 times
Однако с учетом того, как работает моя установка, он будет добавлять к строке один и тот же оператор каждый раз, когда сравнивает число 3 в каждом из своих мест в моем массиве. Так правильный ли мой метод вообще и требует лишь доработки? или это совсем не так и мне нужно что-то совершенно другое? Я только в классе программирования для начинающих в моем колледже, поэтому мы знаем только основы Java, такие как массивы, циклы и некоторые другие вещи.