1

如何找到一种方法让我的代码计算两个相同大小(相同值,相同位置)数组中匹配元素的数量。例如,如果 array1 有 5、4、3、2、1,而 array2 有 1、2、3、4、5,则有一个匹配元素,即 3。如何让我的代码执行这个看似简单的任务? 它会通过说我有 1 匹配 3 匹配或任何其他数字来告诉我有多少?就像我希望它计算匹配的数量并给我一个数字。

这些是我的两个生成 100 个数字的数组。我还希望他们生成 10,000,000 个数字,但我不知道该怎么做?他们正在生成 100,但我希望它是 10,000,000 如何?

对于这段代码:

        if (store[t] ==store[w])
        {
            maching = maching +1;
            System.out.println("Generated: " + maching);
        }

    }
   //return maching;
}

它应该计算匹配的并给我匹配的数量。但它所做的是它给了我:就像如果三个匹配它给了我这个:生成:1,生成 1,生成 1,而不是只给我一个 3。我还评论了返回匹配,因为它给了我错误,所以我将其注释掉。也许如果我得到回报匹配工作会解决整个事情吗?我不确定是什么导致了问题?谢谢你。

我希望它计算两个数组之间匹配的数字。因此,当我在这两个数组之间得到 6 个匹配的数字时,它应该说我得到了 6 个匹配的数字。

Random randomGenerator = new Random();

for (int t = 0; t < 100; ++t)
{
    int randomNumber = randomGenerator.nextInt(100);
    store[t] = randomNumber;
}

int matching =0;
for ( int w = 0; w< 100; ++w)
{
    int randomNumber = randomGenerator.nextInt(100);
    count[w] = randomNumber;
    int t =0;

    if (store[t] ==count[w])
    {
        matching = matching +1;
        System.out.println("Generated: " + maching);
    } 
}


System.out.println("Done.");
}
4

1 回答 1

0
for ( int w = 0; w< 100; ++w)
{
    int randomNumber = randomGenerator.nextInt(100);
    int t =0;
    int maching =0;
    if (store[t] ==store[w])
    {
        maching = maching +1;
        System.out.println("Generated: " + maching);
    } 
}
  • 在这里,您只有一个数组,store[]并且在您的(另一个)for 循环中分配了元素(使用t

  • 在上面的代码中,您设置了t=0和 compare store[t] and store[w],所以您所做的是: comparestore[0] with store[0],store[1]..store[99]我认为这不是您想要的。

  • 如果您不想分配第二个数组,我认为您至少应该比较 store[w] with randomNumber instead of store[t]

于 2013-11-13T22:15:52.673 回答