如何在这些数字之间取消任何数组的部分?

时间:2013-02-04 10:27:18

标签: java

我的问题是,给出两个数字,如何在这些数字之间取消数组的扇区 在任何阵列中。

例如,给定这些数组: {3,2,5,4,8,7,9},{1,3,2,7,8,4} 哪个方法将取消两个数组中2到8之间的所有数字?

非常感谢。

2 个答案:

答案 0 :(得分:2)

您可以尝试以下方法:

int[] array1 = {3,2,5,4,8,7,9};
int[] array2 = {1,3,2,7,8,4};
ArrayList newArray1 = new ArrayList();

for (int i = 0; i < array1.size(); i++)
{
    if (array1[i] > 2 && array1[i] < 8)
    {
        newArray1.add(array1[i]);
    }
}

您可以对其他阵列执行相同操作。另外,您可以将数字添加回整数数组,因为您现在知道整数数组的大小。

int[] array1new = new int[newArray1.size()];
for (int j = 0; j < newArray1.size(); j++)
{
    array1new[j] = newArray1.get(j);
}

答案 1 :(得分:0)

Java API中没有内置方法。您必须编写一个或找到第三方库,从原始库中提取子数组。

您找到第一个值的索引,然后是第二个值的索引,然后您可以使用Arrays.copyOfRange(array, from to);