我必须找到两个Set对象之间的交集。

最佳答案

变量intCount在最里面的if条件中是局部的,这意味着仅访问interArr的第一项。重新安排实现,如下所示。

public int[] intersection(Set parSet)
{
    int[] interArr = new int[numbers.length];
    int[] testArr = parSet.toArray();

    int intCount = 0; // initialization out of the loop

    for(int index = 0; index < numbers.length; index++)
    {
        for(int compareInt = 0; compareInt < testArr.length; compareInt++)
        {
            if(numbers[index] == testArr[compareInt])
            {
                interArr[intCount] = testArr[compareInt];
                intCount++;
            }//end if
        }//end inner for
    }//end outter for

    return interArr;
}//end method intersection

07-27 22:47