Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何声明数组元素为null?_Java_Arrays_Nullpointerexception - Fatal编程技术网

Java 如何声明数组元素为null?

Java 如何声明数组元素为null?,java,arrays,nullpointerexception,Java,Arrays,Nullpointerexception,我试图找出我的代码中发生了什么,我一直遇到NullExceptionPointer问题。所以我决定减少我的代码并找出发生了什么。我想删除一个提供要删除的索引的特定元素,然后,在它之后移动所有元素以填充剩余的空间 移动完所有元素后,我想将数组中的最后一个元素设置为null,但是我得到了错误并且无法编译 public static void main(String[] args) { int [] charSort = new int[] {12, 5, 7, 4 ,26 ,20 ,1,

我试图找出我的代码中发生了什么,我一直遇到NullExceptionPointer问题。所以我决定减少我的代码并找出发生了什么。我想删除一个提供要删除的索引的特定元素,然后,在它之后移动所有元素以填充剩余的空间

移动完所有元素后,我想将数组中的最后一个元素设置为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));
}   
publicstaticvoidmain(字符串[]args){
int[]charSort=newint[]{12,5,7,4,26,20,1,6,3,14,8,11};
putln(“ArrayNum=[12,5,7,4,26,20,1,6,3,14,8,11]\n”);
put(“排序的数组是:\n”);
//IntSelectionSort(字符排序);
putln(Arrays.toString(charSort));
TextIO.put(“回车”);RemoveShift(charSort,TextIO.getInt());
}
公共静态无效移除移位(int[]移动,int p){
for(int i=0;i
int
是一个,不能赋值
null

如果要在此处使用
null
,可以改用包装器类:

public static void RemoveShift (Integer[] move, int p){ 
由于,您甚至可以用相同的方式初始化阵列:

Integer[] charSort = new Integer[] {12, 5, 7, 4 ,26 ,20 ,1, 6 ,3 ,14, 8, 11};
正如@JBNizet所指出的,如果你想修改整数数组,一个很好的替代方法是使用一个。这可以让你的生活更轻松。

int
是一个,并且不能被分配值
null

如果要在此处使用
null
,可以改用包装器类:

public static void RemoveShift (Integer[] move, int p){ 
由于,您甚至可以用相同的方式初始化阵列:

Integer[] charSort = new Integer[] {12, 5, 7, 4 ,26 ,20 ,1, 6 ,3 ,14, 8, 11};

正如@JBNizet所指出的,如果你想修改一个整数数组,一个很好的替代方法是使用一个。这可以让你的生活更轻松。

如果一个可修改的整数数组是OP想要的,那么他应该使用一个数组列表,而不是重新设计轮子。我想,这不是对你答案的批评,只是值得一提。如果一个可修改的arr整数的ay是OP想要的,那么他应该使用ArrayList,而不是重新发明轮子。我想,这不是对你答案的批评,只是值得一提。