android开发中,定义数组,能不能不指定大小? 我输入int i[]; i[0]=1;编译不出错,运行出错。

 我来答
47507426
2011-08-05 · TA获得超过307个赞
知道小有建树答主
回答量:87
采纳率:0%
帮助的人:106万
展开全部
肯定是可以的,不过你这个描述有点问题,你是指的指定数组大小还是数组里面元素的大小?这两种都是可以的,不过数组的声明需要new一下,int[] i=new int[];
你表达的是指定里面第一个位置上的元素等于1,运行出错是报的什么错?LogCat里面的信息是什么?
更多追问追答
追问
是这样的,我在定义数组的时候不想指定数组大小,因为数组的内容和长度要通过上位机指定,如果初始化太大就造成浪费。代码:
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的话是不行的,它会有一个位置来存结束符,所以必须第二个值有一个长度,否则会越界
御含灵9r
2011-08-04 · TA获得超过4157个赞
知道大有可为答主
回答量:3007
采纳率:0%
帮助的人:2689万
展开全部
int[] i ;
i = new int[5] ;

java的数组应该如上定义 不像c语言的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式