我的问题是,给出两个数字,如何在这些数字之间取消数组的扇区 在任何阵列中。
例如,给定这些数组: {3,2,5,4,8,7,9},{1,3,2,7,8,4} 哪个方法将取消两个数组中2到8之间的所有数字?
非常感谢。
答案 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);