编译一段代码,定义一个100个元素的一维数组,并给每一个元素赋值,所赋值为从2开始的100个偶数

publicclasszxp{publicstaticvoidmain(String[]args){intlimit=100;int[]a=newint[limit/2]... public class zxp {
public static void main(String[]args){
int limit=100;
int[]a=new int[limit/2];
for(int i=0;i<=a.length;i++)
a[i]=i*2;

for(int b:a)
System.out.print(b+"\t");
}
}

我这条代码为什么可以编译却不能执行
展开
 我来答
qiufozhell
2015-01-18 · TA获得超过187个赞
知道小有建树答主
回答量:294
采纳率:0%
帮助的人:301万
展开全部
a[50]是可以存储50个变量,可是下标是从a[0]到a[49],
你在存值的时候给a[50]也赋值了,a[50]=100,
这当然就越界了
for(int i=0;i<=a.length;i++) 这里不要 = 号试试看
追问
改好了 可是打印出的第一位永远都是0怎么办,能不能从2开始打印的
追答
当然是0了.
for(int i=1;i<=a.length;i++) 把这里改回来<=, 前面初始改I=1那你的结果就好了.
这是很基础的知识,稍微认真一点就可以改好了.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式