JAVA一个2维数组怎么增加,减少一个元素,,

int mg[][] = { { 1, 2, 3, 4 }
//{ 5, 6, 7, 8 },
//{ 9, 10, 11, 12 }
。如把它变成
int mg[][] = { { 1, 2, 3, 4 }
//{ 5, 6, 7, 8 },
//{ 9, 10, 11, 12,1111 }

再建一个3行5列数组,然后把原来的数据考进去,第三行第五列就可以加入你要的数据了。
或者你先建个5列的一维数组。拷贝第三行到一维数组,在一位数组最后加上新数字,再复制给原来的二维数组,
int [][]arr1={{ 1, 2, 3, 4 },{ 5, 6, 7, 8 }, { 9, 10, 11, 12 }};
int arr2[]=new int[5];
for(int i=0;i<arr1[2].length;i++){
arr2[i]=arr1[2][i];
}
arr2[4]=1111;
arr1[2]=arr2;追问

那怎么输出新的2维数组呢,,

追答

遍历输出就可以了

追问

System.out.print(arr1[][]);......里面写什么。。。arr1[3][i]???

追答

你是要输出一个还是所有元素都输出?输出一个的话直接写脚标,全部输出的话两个for循环嵌套就可以了。目测楼主新手:)

追问

就是新手才会问的嘛,,,我是输出整个新数组,,

追答

for(int i=0;i<arr1.lengh;i++){
for(int j=0;j<arr2.lengh;j++){
System.out.print(arr1[i][j]+" ");

}
System.out.printlh();

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-06
数组的长度都必须一样的。
第2个回答  2013-04-06
数组是不可以变大小的,就是说,你在创建一个数组时,必须要指定他的大小, int [][] arrayInt=new int[3][3];这个样子的。你只可以在这个3*3的风格里写入,修改值,不可以再添加,删除他的行与列。

int [][] array={{1,2,3,4},{4,5,6},{7,8,9}};
int [][] arrayInt=new int[3][];
System.arraycopy(array, 0, arrayInt, 0, 3);
for (int i = 0; i < arrayInt.length; i++) {
for (int j = 0; j < arrayInt[i].length; j++) {
System.out.print(arrayInt[i][j]);
}
System.out.println();
}追问

这是在遍历数组么??

第3个回答  2013-04-06
二位数组元素必须是一样多的,你这个声明也不对,换行怎么直接用注释。
想实现这个可以用List
第4个回答  2013-04-06
其实没看懂,你要的什么意思追问

就是一个3行4列的数组,把它变成3行5列的新数组,但是我只在第3行加一个元素。,这样就变成了一个不规则数组