免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1406 | 回复: 1
打印 上一主题 下一主题

关于零长度数组的错误! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-11 12:29 |只看该作者 |倒序浏览
程序想要把4层树形结构表示成不规则静态数组,程序如下:
这里LEVEL1LEN为5,level2len[5]为12,13,6,2,2,level3len[35]为0,...,0(12个0),0,...,0(13个0),4,4,1,0,3,5,0,0,6,6,代表各层元素的子元素个数
String level1channeltreename[]=new String[level1len];
String level1channeltreeid[]=new String[level1len];
String level2channeltreename[][]=new String[level1len][];
String level2channeltreeid[][]=new String[level1len][];
String level3channeltreename[][][]=new String[level1len][][];
String level3channeltreeid[][][]=new String[level1len][][];

filetemp=0;
for(filei=0;filei<level1len;filei++)
{
        for(filej=0;filej<level2len[filei];filej++,filetemp++)
        {
                level2channeltreename[filei]=new String[level2len[filei]];
                level3channeltreename[filei]=new String[level2len[filei]][];
                if(level3len[filetemp]==0)
                {
                        level3channeltreename[filei][filej]=new String[0];
                }
                else
                {
                        level3channeltreename[filei][filej]=new String[level3len[filetemp]];
                }
                out.print("level3channeltreename["+filei+"]["+filej+"] length="+level3channeltreename[filei][filej].length+"<br>;";
        }
}
out.print(level3channeltreename[0][0].length);
输出如下:
level3channeltreename[0][0] length=0
level3channeltreename[0][1] length=0
level3channeltreename[0][2] length=0
level3channeltreename[0][3] length=0
level3channeltreename[0][4] length=0
level3channeltreename[0][5] length=0
level3channeltreename[0][6] length=0
level3channeltreename[0][7] length=0
level3channeltreename[0][8] length=0
level3channeltreename[0][9] length=0
level3channeltreename[0][10] length=0
level3channeltreename[0][11] length=0
level3channeltreename[1][0] length=0
level3channeltreename[1][1] length=0
level3channeltreename[1][2] length=0
level3channeltreename[1][3] length=0
level3channeltreename[1][4] length=0
level3channeltreename[1][5] length=0
level3channeltreename[1][6] length=0
level3channeltreename[1][7] length=0
level3channeltreename[1][8] length=0
level3channeltreename[1][9] length=0
level3channeltreename[1][10] length=0
level3channeltreename[1][11] length=0
level3channeltreename[1][12] length=0
level3channeltreename[2][0] length=4
level3channeltreename[2][1] length=4
level3channeltreename[2][2] length=1
level3channeltreename[2][3] length=0
level3channeltreename[2][4] length=3
level3channeltreename[2][5] length=5
level3channeltreename[3][0] length=0
level3channeltreename[3][1] length=0
level3channeltreename[4][0] length=6
level3channeltreename[4][1] length=6
java.lang.NullPointerException
循环里面的语句执行正常,循环外面的语句打印NULL异常,百思不得其解,请哪位指点一二,不胜感激!

论坛徽章:
0
2 [报告]
发表于 2004-10-12 16:58 |只看该作者

关于零长度数组的错误!

初始化部分错误:

for(filei=0;filei<level1len;filei++)
{
for(filej=0;filej<level2len[filei];filej++,filetemp++)
{
level2channeltreename[filei]=new String[level2len[filei]];
level3channeltreename[filei]=new String[level2len[filei]][];

改为

for(filei=0;filei<level1len;filei++)
{
level2channeltreename[filei]=new String[level2len[filei]];
level3channeltreename[filei]=new String[level2len[filei]][];
for(filej=0;filej<level2len[filei];filej++,filetemp++)
{
就可以了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP