Java 尝试返回两个数组之间的差异数

Java 尝试返回两个数组之间的差异数,java,arrays,Java,Arrays,如果我有两个数组 int [] array1 = {1, 2, 3, 4} int [] array2 = {1, 3, 2, 4} 这将返回2,因为到目前为止,数组中有两个不同之处,我有这个,但我无法找出它 public static int countDifferences(int[] array1, int[] array2){ int differences = 0; for(int i=0; i<array1.length; i++) {

如果我有两个数组

int [] array1 = {1, 2, 3, 4}
int [] array2 = {1, 3, 2, 4}
这将返回2,因为到目前为止,数组中有两个不同之处,我有这个,但我无法找出它

    public static int countDifferences(int[] array1, int[] array2){
    int differences = 0;
    for(int i=0; i<array1.length; i++) {
        for(int j=0; j<array2.length; j++) {
            if(array1[i]==array2[j]) {
                return 0;
            }
            else{
                differences++;
            }
        }
    }
    return differences;
}
公共静态int countDifferences(int[]array1,int[]array2){
整数差=0;

对于(int i=0;i您应该只使用一个
for
循环在两个数组上迭代一次。您还需要处理两个输入数组长度不相同的情况。此外,一个或两个数组可能为空。对于这些边缘情况,我返回-1,尽管您可以根据需要进行修改

public static int countDifferences(int[] array1, int[] array2) {
    if (array1 == null || array2 == null || array1.length != array2.length) {
        return -1;
    }
    int differences = 0;

    for (int i=0; i < array1.length; i++) {
        if (array1[i] != array2[i]) {
            differences++;
        }
    }

    return differences;
}
公共静态int countDifferences(int[]array1,int[]array2){
if(array1==null | | array2==null | | array1.length!=array2.length){
返回-1;
}
整数差=0;
for(int i=0;i
您应该只使用一个
循环在两个数组上迭代一次。您还需要处理两个输入数组长度不相同的情况。此外,一个或两个数组可能为空。对于这些边缘情况,我返回-1,但您可以根据需要进行修改

public static int countDifferences(int[] array1, int[] array2) {
    if (array1 == null || array2 == null || array1.length != array2.length) {
        return -1;
    }
    int differences = 0;

    for (int i=0; i < array1.length; i++) {
        if (array1[i] != array2[i]) {
            differences++;
        }
    }

    return differences;
}
公共静态int countDifferences(int[]array1,int[]array2){
if(array1==null | | array2==null | | array1.length!=array2.length){
返回-1;
}
整数差=0;
for(int i=0;i
这是一个逻辑问题


例如,由于两个位置的开关实际上是一个开关,所以要对相同的差异进行两次计数。因此,请检查该条件并将其计数为一。

这是一个逻辑问题


例如,由于两个位置的开关实际上是一个开关,所以要对相同的差异进行两次计数。因此,请检查该条件并将其计数为一。

是否要检查array1和array2的n索引是否具有相同的值?是否要检查array1和array2的n索引是否具有相同的值?数组有两个但是,它返回了4。我对此表示怀疑。你确定你使用的是我的实际代码吗?很抱歉,我之前运行了一个反向数组方法,但现在它可以工作了。谢谢你。你应该先检查
array1!=null | | array2!=null
。数组有两个不同之处,但是,它返回了4。我对此表示怀疑。你确定你使用的是我的实际值吗l代码?很抱歉,我之前运行了一个反向数组方法,但现在它工作了。谢谢。您应该先检查
array1!=null | | array2!=null