こんにちは、私は 2 次元配列 (具体的には 4x4 配列) を調べようとしていますが、どちらも繰り返される数字を見つけて、その数字が繰り返される回数を数えます。これまでのところ、機能する for ループが 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 の基本しか知りません。