java二维数组的初始化问题,第一维定义过长度之后,第二维在定义数组时不是能自动赋给长度的吗?

2025-01-07 00:27:05
推荐回答(5个)
回答1:

不行的。所有数组必须在定义的时候就指定长度
int grade[][]=new int [2][];这里二维必须指定长度

回答2:

快10年前的问题了。。。
Java 1.8, int grade[][]=new int [2][]; 这样定义是没有问题的
楼主出现问题的是赋值语句:grade[0]={1,2,3,45,5}; 这样写是错的
正确写法是:
grade[0]= new int[]{1, 2, 3, 45, 5};

grade[1]= new int[]{0, 1, 2};

回答3:

你这样肯定不行哒,你定义的是一个2行的数组。你定义的是二维数组,赋值是一个维度,肯定不行的。

回答4:

不太理解楼主的意图
下面代码不知道对你有用处吗?
请参考
public class Grade{
public static void main(String [] args){
int[][] grade = {
{0,1},
{1,0},
{2,1},
{3,2},
{45,0},
{5,0},
};
for(int i = 0; i < grade.length; i++){
for(int j = 0; j < grade[0].length; j++){
System.out.println("数组grade["+i+ "]["+j+ "]为: " + grade[i][j]);
}
}
}
}

回答5:

实例化的时候已经定义了
int grade[][]=new int [2][];
赋值的时候应该是
grade[0]={1,2,3,45,5};
grade[1]={0,1,2,0,0};
结构不能不同的。