java二维数组问题

String ajj[][]=null;
for(int i=0;i<currAjConfigs.size();i++){
currAjConfig=(AjConfig)currAjConfigs.getAt(i);
ajj[i][0]=currAjConfig.getCValue();
ajj[i][1]=String.valueOf(currAjConfig.getId());
}
currAjConfigs.size()已经有大小了 大小为199
请问为什么在运行的时候会报空指针错误 逻辑上去想是没有问题的

第1个回答  2020-01-30
int[
]
[
]
a;//定义一个二维数组a
a
=
new
int[2]
[
];//定义行数是二,列数不定
a[0]
=
new
int[2]
//第一行有两个元素,可写为a[0][0],a[0][1]
a[1]
=
new
int[3];//第二行有三个元素,可写为a[1][0],a[1][1],a[1][2]
a[0]
[0]
=
10;
a[1]
[1]
=
20;//
给其赋值
第2个回答  2008-03-28
应该new一下才能用,不然,你只是对数组作了声明,并没有分配内存空间,所以,会报空指针错误
第3个回答  2008-03-28
String ajj[][]=null; //仅仅是个声明而已,并没有初始化
...
ajj[i][0]=currAjConfig.getCValue(); //不可以直接使用

改成

String ajj[][]= new String[currAjConfigs.length][2];本回答被提问者采纳
第4个回答  2008-03-28
楼上正解
另外:for(int i=0;i<currAjConfigs.size();i++)这里一般建议写成:
for(int i=0;currAjConfigs != null && i<currAjConfigs.size();i++)
防止出现null还要取size();

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;...

Java数组—二维数组详解
深入解读Java中的二维数组,探索其定义与实现。二维数组,其实质是数组的数组,用于存储多个一维数组,其结构由多行多列构成,能够更好地组织与管理数据。初始化二维数组,通常通过定义数组的大小来实现。例如,定义一个包含3行4列的二维数组。获取数组元素,与一维数组类似,通过索引访问。遍历二维数组时,...

关于java中二维数组输出的问题
int[][] arr={new int [1] {1},new int [2] {2,3},new int [3] {4,5,6}};则二维数组arr.length等于3,表示它由3个一维数组组成,即3行。arr[0].length表示第1个一维数组的长度1,即1列。arr[1].length表示第2个一维数组的长度2,即2列。arr[2].length表示第3个一维数组的长...

为什么vscode的Java运行二维数组不可以?
VSCode的Java运行二维数组可能出现问题的原因有多种,例如:代码语法错误,例如二维数组定义和初始化的方式不对;缺少必要的类库和工具,例如Java编译器或运行环境;编译和运行的配置问题,例如没有正确设置编译器和运行参数等;代码逻辑问题,例如二维数组的访问方式不正确。建议检查代码,确保语法正确,并确保你...

java二维数组三种初始化方法(实例)
第一种方法,使用大括号直接赋值,适合已知所有元素的情况。这种方式可以直接将元素放入大括号内,形成二维数组的初始化。例如:java int[][] array = {{1, 2}, {3, 4}};第二种方法,给定二维数组的大小。这种方式先确定数组的行数和列数,然后再初始化元素。例如:java int rows = 2;int ...

java关于二维数组的问题。
首先这个二维数组可以看成是一个标准的 3X3 的矩阵 第一个循环 :for(int i = 0;i<arr.length;i++){ for(int j=0;j<arr.length;j++){ System.out.print(arr[i][j]);} System.out.println();} 第一轮大循环:i 取值为0时,j取值0,1,2,则打印:arr[0][0],arr[0][1],...

java中求二维数组第二维的长度用什么?另外,一个二维array, array.lengt...
第一个问题,对于二维数组,求第二维就用array[0].length。第二个问题,是的,array.length就是默认的是第一维的长度。第三个,没有dim 之类的一起求出各维的维数的方法,因为定义时并不知道你有几维(三维,4维,。。。100维都有可能),你想依次求第一维、第二维、第三维就用array.length, ...

用Java,定义一个二维数组,完成如下任务:将1~25依次存入一个5*5的矩 ...
可以使用如下的Java代码来定义一个5x5的二维数组,并依次存入1~25的数字:int[][] matrix = new int[5][5];int count = 1;for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++) { matrix[i][j] = count++;} } 矩阵中心的数值可以通过如下方式求得:int ...

java 二维数组问题
public static void main(String[] args) { int arr[][] = new int[][] { { 4, 5 }, { 6, 7 } };System.out.println("二维数组中的各个元素是");for (int x[] : arr) { for (int i=0;i<x.length;i++) {\/\/这里for (int i : x) 改成for (int i=0;i<x.length;...

Java二维数组赋值方式?
intn=scanner.nextInt();第二步骤:java.怎么对长度未知的二维字符数组进行赋值,代码完整编写。主要使用知识点1:接收控制台输入?Scannerscanner=newScanner(System.in);主要知识点2:双层for循环解决二维数组的赋值问题 publicstaticvoidmain(String[]args){ Scannerscanner=newScanner(System.in);System....

相似回答