我想要一个带有两个数组的布尔方法,当第一个数组中的所有数字都存在于第二个数组中时,返回 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],它应该返回 false 。 数组1:[2] /数组2:[5,5,4,4,2],它应该返回 true 。答案 0 :(得分:2)
使用Java.util.Arrays
int[] paramArrayOfInt1={1,2};
int[] paramArrayOfInt2={1,3};
if(paramArrayOfInt1.length==paramArrayOfInt2.length) {
if(!Arrays.equals(paramArrayOfInt1, paramArrayOfInt2)) {
System.out.println("False");
} else{
System.out.println("True");
}
} else {
System.out.println("False");
}