我在比较数字方面遇到了问题。
所以我试图比较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++;
}
}
现在我弄明白了问题所在。我的代码没有比较第一和第二个数组中的所有整数。
你能告诉我一个如何做到这一点的想法吗?感谢。
答案 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--;
}
}
尝试这个,但我没有测试过。