它是一個非常簡單的解決方案:因爲您知道userStringArray
始終會小於或等於mainStringArray
,因此您可以通過userStringArray
執行for循環。然後您需要使用userStringArray.length
注意到userStringArray
的長度,並使用該長度值來獲取mainStringArray
的部分,該部分在userStringArray
中沒有對應的元素,然後繼續對這些額外字符執行任何操作。
您可以選擇使用ArrayLists而不是數組,但是您必須通過檢查isEmpty()
條件來更改您的循環以解決從空ArrayList中刪除值的問題。其餘的邏輯可以是相同的。
編輯:
這個問題很曖昧。因此,我將粗略地告訴你如何去做和ArrayLists一樣的事情。代碼的唯一有形區別是檢查userStringArray.isEmpty()。
import java.util.ArrayList;
ArrayList<Double> newValueArray = new ArrayList();
ArrayList<Double> userStringArray = new ArrayList();
ArrayList<Double> mainStringArray = new ArrayList();
for (int i = 0; i < mainStringArray.size(); i++) {
if(!userStringArray.isEmpty){
if (userStringArray.get(i).equals(mainWordsArray.get(i))){
newvalueArray.remove(i);
newvalueArray.add(i, valueArray.get(i));
} else {
if (mainStringArray.get(i).equals(missingWordsArray.get(i))){
newValueArray.remove(i);
newValueArray.add(i, 0);
}
}
System.out.println(mainStringArray[i] + " " + newValueArray.get(i));
}
}
你應該避免使用數組,如果可以的話,並使用ArrayList而不是 – 2011-03-01 09:17:29
這就是數組的問題。他們不可調整大小。您應該開始查看ArrayList的文檔。 – asgs 2011-03-01 09:26:45
@Shervin如果他使用完全相同的方法,但與ArrayLists,而不是你所建議的,它仍然會給一個java.lang.IndexOutOfBoundsException。嘗試從空ArrayList中刪除。除非你檢查isEmpty當然。 – 2011-03-01 09:38:31