2013-02-04 32 views
-3

我的問題是,給出兩個數字,如何在這些數字 之間的數組中取出任何數組中的扇區。如何取消這些數字之間的任何數組的部分?

例如,給定這些數組: {3,2,5,4,8,7,9},{1,3,2,7,8,4} 哪種方法會取走所有數字兩個陣列中的2到8之間?

非常感謝。

+0

定義'起飛'。去掉?如果是這樣,那麼你的運氣不好,因爲Arrays(int [])的大小是靜態的。或者你在談論某種容器?請更具體一些。 – ATaylor

+0

並且*兩個數組中的所有2和8之間的數字*,是否指所有常用數字,即在兩個數組中都是2和8之間的數字? – sp00m

+0

聞起來像是給我作業 – CsBalazsHungary

回答

0

Java API中沒有內置方法。您將不得不編寫一個或找到從原始數據庫中提取子數組的第三方庫。

你找到的第一個值,那麼第二個值的索引的索引,然後你可以使用Arrays.copyOfRange(array, from to);

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

+1我會用'array1'而不是'Array1'和'if(2

+0

同意!允許我編輯它! – Joetjah

相關問題