0
我想知道我的代碼發生了什麼,我不斷收到nullexeptionpointer問題。所以我決定減少我的代碼,並找出發生了什麼。我想刪除提供要刪除的索引的特定元素,之後移動後面的所有元素以填充剩下的空間。如何聲明一個數組元素爲空?
移動所有元素後,我想將數組中的最後一個元素設置爲null,但是我得到錯誤並且不會編譯。
public static void main(String[] args) {
int [] charSort = new int[] {12, 5, 7, 4 ,26 ,20 ,1, 6 ,3 ,14, 8, 11};
TextIO.putln("ArrayNum = [12, 5, 7, 4 ,26 ,20 ,1, 6 ,3 ,14, 8, 11]\n");
TextIO.put("Sorted ArrayNum is: \n");
//IntSelecttionSort(charSort);
TextIO.putln(Arrays.toString(charSort));
TextIO.put("Enter: "); RemoveShift (charSort, TextIO.getInt());
}
public static void RemoveShift (int[] move, int p){
for(int i = 0; i<move.length; i++){
TextIO.put(i+", ");
}
TextIO.putln();
for(int i = p; i<move.length-1; i++){
move[i]=move[i+1];
}
move[move.length-1]=null; // null seems not to work here
TextIO.putln(Arrays.toString(move));
}
如果一個可修改的Integer數組是OP所需的,那麼他應該使用ArrayList而不是重新創建輪子。不要批評你的答案,值得一提的是,國際海事組織。 –
+1您的有用鏈接! –