如果有人能指出我正確的方向,我將非常感謝。我正在通過以下Murach的Java書籍的在線示例學習Java。我想寫一個函數,它有兩個參數:搜索數組中的元素,然後返回一個帶索引的新數組
參數:
1: An int myArr
2: An int num
我想經過了「myArr,該」,並發現如果「民」中存在一次或一次以上「 myArr,該」。因此,讓我們說如果「myArr」有「num」可以說在三個地方,我想在函數內創建一個新的數組,並捕獲這個新數組中的所有三個索引,並返回新的數組。我已經有一段時間了,我覺得我很困惑,可以使用一些幫助。
我的問題是,我不確定如何在函數中聲明新的數組大小。所以,讓我們假設「myArr,該」有5個要素:
1,2,1,1,4
,如果我在尋找1號,你可以看到,1號顯得比myArr,該內一次。所以現在我需要在函數中聲明一個大小爲3的新數組,然後將相關索引(即0,2和3)推送到這個新創建的數組中,然後返回它。我沒有做我的for循環,並最終與IndexOutOfBoundArray。我感謝你的時間和建議。
這裏是我的代碼:
public void searchArray(int[] myArr, int num){
int counter = 0;
int[] newArr = new int[counter];
//FOR-LOOP
for(int i=0; i < myArr.length; i++){
if(myArr[i] == num){
counter++;
}
}
// SECOND FOR LOOP
for(int j=0; j < myArr.length; j++){
newArr[j] = j;
}
// PRING OUT 'newArr' elements
for(int value : newArr){
System.out.printf(" %d ", value);
}
}
謝謝。
ArrayList將解救你 –
int [] newArr = new int [counter];這就是爲什麼你得到綁定異常的arrayindexout的原因; 當你拿到計數器時,將它活化。 –