2024-09-23 00:39:42
是这样的,我在定义数组的时候不想指定数组大小,因为数组的内容和长度要通过上位机指定,如果初始化太大就造成浪费。代码:
public int typeNum;
public String typeName [][];
……
typeNum=8;//假设获得typeNum的值
typeName=new String [typeNum][0];
for (int i=0;i<typeNum;i++)
{
typeName[i][0]="分类"+String.valueOf(i);
}
运行错误如图所示,public String typeName[][] =new String[20][1];就正常
我试了一下,报的是数组越界的错误, 你的typeName=new String [typeNum][0]这一句有问题,你指定第二个值是0的话是不行的,它会有一个位置来存结束符,所以必须第二个值有一个长度,否则会越界
嗯,是这样的,改成typeName=new String [typeNum][1];就好了。
其实也算是一个低级错误了,呵呵,脑子里面想着是定义一个二维数组,结果把
定义typeName=new String [typeNum][1];
与
赋值typeName[i][0]=****;搞混了
目前运行正常
谢谢
2024-09-23 00:32:55