A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘海陆 中级黑马   /  2013-5-25 21:01  /  2075 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘海陆 于 2013-6-1 10:22 编辑

int[][]  arr = {};
int[][] arr = {{}};
int[][] arr = new int[0][0];
int[][] arr = new int[0][];

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

14 个回复

正序浏览
李玉江 发表于 2013-5-31 23:04
海陆兄   原来你也在这里啊

刷分呗,还差两分
回复 使用道具 举报
海陆兄   原来你也在这里啊  
回复 使用道具 举报
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
回复 使用道具 举报

int[][]  arr = new {};
int[][] arr = new {{}};   //这两个报错是因为没有指定类型。所以无法开辟空间。
回复 使用道具 举报
袁梦希 发表于 2013-5-30 10:09
分给晚了  谅解  哥们

呵呵 版主辛苦啦
回复 使用道具 举报
萧萧北 发表于 2013-5-28 17:06
刚刚编译了一下,
一二报错,三四正常。
这是数组初始化问题,也就是new int[][],这个在毕老师的视频有讲 ...

分给晚了  谅解  哥们
回复 使用道具 举报
数组初始化问题,你的格式不对;改正如下:
int[][]  arr = {};//定义一个二维数组,二维数组为空
int[][] arr = {{}};//定义一个二维数组,二维数组中有一个一维数组,一维数组为空。
int[][] arr = new int[0][0];//定义一个二维数组,二维数组为空
int[][] arr = new int[0][]; //定义一个二维数组,二维数组为空

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
刚刚编译了一下,
一二报错,三四正常。
这是数组初始化问题,也就是new int[][],这个在毕老师的视频有讲过,它的作用是为数组对象的元素分配空间。

你这前两个就缺了这个,导致不能为数组对象的元素分配空间。


我也是初学者,试着帮你改了一下,你看看是不是你想表达意思。
  1. int[][] arr1 = new int[][]{};
  2. int[][] arr2 = new int[][]{{}};
  3. int[][] arr3 = new int[0][0];
  4. int[][] arr4 = new int[0][];
复制代码

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
王靖远 发表于 2013-5-26 00:01
第二个为什么报错啊。看着和第三个效果一样。

编译测试不行:L,应该是不可以这样定义吧
回复 使用道具 举报
1、2会报错,3、4运行不了啊,这不都是错的吗,到底在纠结什么那
回复 使用道具 举报
神之梦 发表于 2013-5-25 21:18
第一个和第二个编译报错
后面两个等大神解释

第二个为什么报错啊。看着和第三个效果一样。
回复 使用道具 举报
你这不是面试题类型么,一二报错,三四没意义,都定义是0个变量 数组空啦
回复 使用道具 举报
第一个和第二个编译报错
后面两个等大神解释
回复 使用道具 举报
2和3对一维二维数组都设置了长度。4只是给二维数组设置了长度。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马