我想要一个布尔方法需要两个数组并返回true当第一个数组中的所有数字都在第二个数组中时。如果至少有一个号码不匹配,则返回false。有没有更好的方法来编写这种方法?
这是我的代码,但有些东西是关闭的。
public static boolean noMoreRolls(int[] paramArrayOfInt1, int[] paramArrayOfInt2) {
boolean test[] = new boolean[paramArrayOfInt1.length];
int total = 0;
boolean end = false;
for (int i = 0; i < paramArrayOfInt1.length; i++) {
for (int j = 0; j < paramArrayOfInt2.length; j++) {
if (paramArrayOfInt1[i] == paramArrayOfInt2[j])
test[i] = true;
}
if (test[i] == true)
total++;
}
if (total == test.length) {
end = true;
}
return end;
}
在此先感谢。
编辑:抱歉误导和错误的方式把事情放下。 2个阵列的长度不一样。 一个理解我的代码的例子:数组1:[6,6,1,2,3,] /数组2:[2,3],它应该返回虚假。 Array 1:[2]/Array 2:[5,5,4,4,2],它应该返回true。
' “这是我的代码,但东西了。”“ - 嗯,什么......究竟* *是关?请给我们一些关于你在寻找什么的指示,你是什么意思“更好的方式”。 –
更适合codereview。在SO中,你不应该对“某些东西不在”做出模糊的陈述 –
你在这里进行n ** 2比较,我会亲自调查一下hashmaps。否则 - 就像其他评论者一样 - 这个问题并不适用于SO。 –