我需要動態調整數組的大小,而不是猜測它將包含多少個元素。我有這樣的代碼,但它似乎並沒有工作,任何人都可以幫助我找出什麼是錯的!基本上我需要在找到匹配時繼續添加到匹配數組(另一種方法是爲此實現的)。「調整大小」在Java中的數組,並將其發回
目前它只是填充matches數組,然後給它嘗試放入數組的下一個元素給出ArrayIndexOutOfBoundsException。
以下是2個功能。
由於
private static String[] subStrings(String[] tokens) {
String[] matches;
matches = new String[40]; //creates a new array of matches
for (int i = 0; i <=tokens.length; i++){
for (int j = i+1; j <tokens.length;j++){
if(Text.match(tokens[i],tokens[j])){
matches[i]=(tokens[i]+" | "+tokens[j]);
System.out.println(matches[i]);
if(matches[matches.length-1]!=null){
reSize(matches, matches.length+10);
}
}
}
}
公共靜態字符串[]調整尺寸(字符串[]匹配,int類型){
if(s<0){
return null;
}
String BiggerMatch[] = new String[s];
for(int i=0; i< matches.length; ++i){
BiggerMatch[i]=matches[i]; //saves the original array in a temporary variable
}
matches = new String[s]; //adds s integer to the array size of matches
for(int i=0; i<=matches.length - s ; i++){ //leaves s spaces null at the end of the array
matches[i]= BiggerMatch[i];
}
matches = BiggerMatch;
subStrings(matches); //sending the new array back to the subStrings method
return BiggerMatch;//returns the new array
}
}
爲什麼不使用ArrayList?它是一個動態數據結構,因此您不需要調整大小。 – 2014-10-26 19:33:31
你不能(即使你可以僞造它)調整數組的大小。這不是他們想要的。數組用於__fixed__數量的數據。這聽起來像你可能想要一個'ArrayList'來代替。 – BitNinja 2014-10-26 19:33:41
我需要遵循的參數是 //相反,我也希望您編寫(並使用)一種方法,在必要時調整數組的大小。 //然而,你知道數組不能調整大小。 \t \t \t //這意味着你的方法是真的要值從一個小數組複製到一個大陣 \t \t \t //並返回大陣 – 2014-10-26 19:35:24