public static int [] filterRange(int [] array, int low, int high){
int numbers = 0;
for (int i = 0; i < array.length; i++){
if (i <= high && i >= low){
numbers ++;
}
}
int array1 [] = new int [numbers];
for (int i = 0; i < array.length; i++){
if (i <= high && i >= low){
array1[i] = array[i];
}
}
return array1;
}
我想寫一個方法,不使用任何內置函數。它接受一個數字數組,一個低值和一個高值,並返回一個新數組,其中只包含高位和低位值之間的數字,以及高位和低位值(如果適用)。我想要一個接受數組,低數字,高數字的方法。並返回一個數組之間的數字
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
at Question_1.filterRange(Question_1.java:41)
at Question_1.main(Question_1.java:13)
這是我收到的錯誤消息。
使用高一低,讓您新的數組的大小。分配它。使用從低到高迭代的循環將值複製到新數組中。 – deanosaur
聽起來像我認爲我有,除非我不明白?數字++給我的數量在我的範圍和新的int [數字]之間的數量,使空白數組的大小,但下一部分我不能正確。 – user3457171
沒有偏移量,array1 [i] = array [i + low],我的回答應該更清楚。 –