不行的。所有数组必须在定义的时候就指定长度
int grade[][]=new int [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};
你这样肯定不行哒,你定义的是一个2行的数组。你定义的是二维数组,赋值是一个维度,肯定不行的。
不太理解楼主的意图
下面代码不知道对你有用处吗?
请参考
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]);
}
}
}
}
实例化的时候已经定义了
int grade[][]=new int [2][];
赋值的时候应该是
grade[0]={1,2,3,45,5};
grade[1]={0,1,2,0,0};
结构不能不同的。