int mArray[][] = new int[5][];
为 int mArray[][] = new int[5][5];
解决方案 »
- Class<?>... classes是什么意思?
- 有人会swt这个插件吗 用过的过来下 有分相送
- 高分求一个小游戏。急!
- 请问:给定一个URL,比如:http://127.0.0.1,如何获取该站点首页的URL?(如:http://127.0.0.1/index.html或http://127.0.0.1/de
- 请问java 与j2me 、j2se、j2ee 是什么关系
- 测试JAVA中对象创建(NEW 语句)的时间的程序该怎么写呀?
- tomcat
- 急,一个流的问题
- 关于jbuilder的问题:xy布局管理器在不同的平台上有什么不同的表现!
- 正则表达式求解
- 逼急了没办法,只有在这发招聘了: 招java程序员/系统分析员
- selection change event for combo
因为java不支持动态数组,如果你想使用一个动态大小的数组,可以考虑用向量。
for(int n= 0;n<mArray.length;n++)
定义的数组中不能大于mArray.length
}
public static void main(String[] args) {
int mArray[][] = new int[5][];
int nCounter = 1;
for(int m = 0;m<mArray.length;m++){
mArray[m] = new int[m+1];
for(int n= 0;n<=m;n++) {
mArray[m][n] = nCounter;
nCounter++;
}
}
for(int m = 0;m<mArray.length;m++){
System.out.println("第"+m+"行->");
for(int n = 0;n<mArray[m].length;n++)
System.out.println(" "+mArray[m][n]+" ");
System.out.println("\n"); } } }
上面的问题的根源在于对Java的多重数组的理解,Java没有C++的多重数组的概念。但为了一些人的习惯,也可用m[][]来表示二维数组。
在Java中,对于每个对象来说都必须new来生成空间。
下面我简要分析一下前面的问题:int mArray[][] = new int[5][];
上面一句定义了一个"二维数组",其实这就是一个一维向量数组。上面只是生成了5个向量元素的空间。而对于每个向量元素的空间还没分配。所以:
mArray[m][n] = nCounter;
就产生了问题。
正确的方法eyeieye(魔之眼)已经写出来了。