比较第一个数组和第二个数组之间的数字

时间:2014-02-01 08:17:06

标签: java arrays integer comparison

我在比较数字方面遇到了问题。

所以我试图比较2个阵列,每个阵列有6个不同的数字。如果这两个元素中的数字相同,则会添加用户分数。

示例:第一阵列:1,17,14,38,6,24          第二阵列:22,3,7,1,42,9

第一个和第二个数组都有数字1,因此将添加分数。

我的问题是如何比较它们?

这是第一和第二阵列的代码:

for (int x = 0;x<6;x++)
        {
            A[x] = (int) (1+Math.random()*counter);

            for (int y=0;y<x;y++)
            {
                if (A[x]==A[y])
                x--;
            }
        }

这也是第二个阵列的相同代码。

我试过这段代码来比较两者:

for (x=0;x<6;x++)
{
     if (A[x]==B[x])
     {
        score++;
     }
}

现在我弄明白了问题所在。我的代码没有比较第一和第二个数组中的所有整数。

你能告诉我一个如何做到这一点的想法吗?感谢。

2 个答案:

答案 0 :(得分:3)

您需要两个循环来检查值。另外,它只会比较相同指数的值。

试试这个:

for (int x=0;x<A.length;x++){
    for (int y=0;y<B.length;y++){
    if (A[x]==B[y])
        score++;
    }
}

如果A.length使用x<6,则会避免硬编码。

答案 1 :(得分:0)

for (int x = 0;x<6;x++)
        {
            A[x] = (int) (1+Math.random()*counter);

            for (int y=0;y<x;y++)
            {
                if (A[x].equals(A[y]))
                x--;
            }
        }

尝试这个,但我没有测试过。