Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 删除2D数组的每个内部数组的0索引_Java_Arrays_Indexing_2d - Fatal编程技术网

Java 删除2D数组的每个内部数组的0索引

Java 删除2D数组的每个内部数组的0索引,java,arrays,indexing,2d,Java,Arrays,Indexing,2d,我试图解决这个问题,但我没有进一步的努力。 我有一个2D int数组,希望删除每个索引的第一个索引,如下所示: {{1,2},{2,3,4}->{2},{3,4} 我编写了这个代码,但它没有改变任何东西 int[][] arr = {{1,2},{2,3,4}}; for(int[] x : arr) { int[] newArr = new int[x.length -1]; for (int i = 1; i < x.length; i++)

我试图解决这个问题,但我没有进一步的努力。 我有一个2D int数组,希望删除每个索引的第一个索引,如下所示: {{1,2},{2,3,4}->{2},{3,4}

我编写了这个代码,但它没有改变任何东西

int[][] arr = {{1,2},{2,3,4}};

    for(int[] x : arr) {
        int[] newArr = new int[x.length -1];
        for (int i = 1; i < x.length; i++) {
            newArr[i-1] = x[i];
        }

        x = newArr;
    }
int[]arr={{1,2},{2,3,4};
对于(int[]x:arr){
int[]newArr=newint[x.length-1];
对于(int i=1;i

我很感谢你的帮助。

你确定它不起作用吗?我运行了这个,它为我工作。也许您在最后将错误的数组分配给了希望它进入的数组?确保在循环之后将您关心的任何数组分配给newArr。

您可以按如下操作:

public class Main {
    public static void main(String[] args) {
        int[][] arr = { { 1, 2 }, { 2, 3, 4 } };

        for (int i = 0; i < arr.length; i++) {
            int[] newArr = new int[arr[i].length - 1];
            for (int j = 1; j < arr[i].length; j++) {
                newArr[j - 1] = arr[i][j];
            }
            arr[i] = newArr;
        }

        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j] + " ");
            }
            System.out.println();
        }
    }
}

不要对
循环使用增强型
,请使用:


这不应该是
{{2},{3,4}
?提示1:使用---提示2:不要使用增强的
for
循环,因为你不能那样更新
arr
。是的,我在输出中犯了一个错误。提示2非常有效。
2 
3 4 
int[][] arr = {{1,2},{2,3,4}};
for (int i = 0; i < arr.length; i++)
    arr[i] = Arrays.copyOfRange(arr[i], 1, arr[i].length);
System.out.println(Arrays.deepToString(arr));