Java 删除2D数组的每个内部数组的0索引
我试图解决这个问题,但我没有进一步的努力。 我有一个2D int数组,希望删除每个索引的第一个索引,如下所示: {{1,2},{2,3,4}->{2},{3,4} 我编写了这个代码,但它没有改变任何东西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++)
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));