嗨,我正在尝试通过一个二维数组(特别是 4x4 数组)并且都找到任何重复的数字,然后计算该数字重复的次数。到目前为止,我有 4 个 for 循环可以工作,但是比我真正想要的要多。
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 的基础知识,比如数组、循环和其他一些东西。