Ⅰ java如何用Array.newInstance() 创建二维数组
代码如下:
import java.lang.reflect.Array;
public class ArrayTest {
/*
* 使用Array类动态创建多维数组
*/
public static void main(String[] args) {
//创建一个元素类型String,维度为[5][10]的数组
Object arr=Array.newInstance(String.class, 5,10);
//为二维数组赋值
//获取第一维度为4的数组
Object firstIndex=Array.get(arr, 4);
Array.set(firstIndex, 6, "zhangxun");
Array.set(firstIndex,7,"lili");
Array.set(firstIndex,9,"wangs");
//获取第二维度为3的数组
Object new_firstIndex=Array.get(arr, 3);
Array.set(new_firstIndex, 5, "mada");
//将arr数组转换为arr_str二维数组并输出
String[][] arr_str=(String[][])arr;
System.out.println(arr_str[4][6]);
System.out.println(arr_str[4][7]);
System.out.println(arr_str[4][9]);
System.out.println(arr_str[3][5]);
}
}
Ⅱ java 二维数组怎么定义
java中使用 [][] 来定义二维数组,定义数组时也可同时初始化。
两种初始化形式:
格式1、动态初始化
数据类型 数组名 [ ][ ] = new 数据类型[m][n]
数据类型 [ ][ ] 数组名 = new 数据类型[m][n]
数据类型 [ ] 数组名 [ ] = new 数据类型[m][n]
举例:int [ ][ ] arr=new int [5][3]; 也可以理解为“5行3例”。
格式2、 静态初始化
数据类型 [ ][ ] 数组名 = {{元素1,元素2....},{元素1,元素2....},{元素1,元素2....}.....};
举例:int [ ][ ] arr={{22,15,32,20,18},{12,21,25,19,33},{14,58,34,24,66},}。
Ⅲ java中要声明一个int型的二维动态数组,如何声明
public class Demo12 {
public static void main(String[] args) {
int[][] a = new int[3][5];//声明一个3行5列的二维数组
//第一个括号里代表行数,第二个括号里代表列数
}
}
我这个好像只是一个二维数组,至于你所说的动态二维数组我也不懂
Ⅳ java中怎样给二维数组动态赋值
public class qq{ public static void main(String [] args){ int b[][]; b[][]=new int [2][2]; int k=0; for(int i=0;i<2;i++){ for(int j=0;j<2;j++){ b[i][j]=Integer.parseInt(args[k]) k++; System.out.println(b[i][j]); } } } }
Ⅳ java高手:java定义二维数组问题
int a[][] = new int[3][2]; 表示定义一个三行二列的二维数组,但是a[0] = {1,6}; 是对一维数组进行赋值,而a是二维数组无法使用一维数组的赋值方法,所以程序会报错。
该代码的正确方法应该是:
int a[][] = new int[3][2];
a[0][0]=1;
a[0][1]=6;
(5)java2维动态数组扩展阅读
java定义二维数组的方法:
1、动态初始化
数据类型 数组名 [ ][ ] = new 数据类型[m][n]
数据类型 [ ][ ] 数组名 = new 数据类型[m][n]
数据类型 [ ] 数组名 [ ] = new 数据类型[m][n]
举例:int [ ][ ] arr=new int [5][3]; 也可以理解为“5行3例”
2、 静态初始化
数据类型 [ ][ ] 数组名 = {{元素1,元素2....},{元素1,元素2....},{元素1,元素2....}.....};
举例:int [ ][ ] arr={{22,15,32,20,18},{12,21,25,19,33},{14,58,34,24,66},}
Ⅵ Java动态二维数组 怎么动态定义
有两种实现方法:
可以用List数组来实现
可以用map来实现
方法一:用map来实现
比如要创建一个1行、3列的数组,实现方法如下:
public static void main(String[] args) throws CloneNotSupportedException {
Map<Double, List<Double>> myMap = create(1, 3);
}
public static Map<Double, List<Double>> create(double row, double column) {
Map<Double, List<Double>> doubleMap = new HashMap<Double, List<Double>>();
for (double x = 0; x < row; x++) {
for (double y = 0; y < column; y++) {
doubleMap.put(x, new ArrayList<Double>());
}
}
return doubleMap;
}
方法二:
可以用List数组来实现
publicstaticvoidmain(Stringargs[]){
//list作为动态二维数组
List<List<String>>list=newArrayList();
List<String>a1=newArrayList<String>();
List<String>a2=newArrayList<String>();
List<String>a3=newArrayList<String>();
list.add(a1);
list.add(a2);
list.add(a3);
a1.add("string1ina1");
a1.add("string2ina1");
a2.add("string1ina2");
a3.add("string1ina3");
a3.add("string2ina3");
for(inti=0;i<list.size();++i){
for(intj=0;j<list.get(i).size();++j)
System.out.println(list.get(i).get(j));
}
}