初学java,下面的代码不知道什么问题,无法运行。。。

publicclasstest{publicstaticvoidmain(String[]args){inta[]=newint[10];for(inti=0;i<10;... public class test {
public static void main(String[]args){
int a[]=new int[10];
for(int i=0;i<10;i++){
a[i]=i;
}
for(int i=10;i>0;i--){
System.out.print("a["+i+"]"+a[i]+" ");}
}
}
我找到问题在哪里了!第一个循环没有a[10]。。。
展开
 我来答
空非色
2012-07-10
知道答主
回答量:23
采纳率:0%
帮助的人:8.7万
展开全部
for(int i= 9;i>=0;i--){
System.out.print("a["+i+"]"+"="+a[i]+";");
}
因为你for循环里的i是<10的,意思就是0~9(数组越界),这样就ok了,输出结果是:
a[9]=9;a[8]=8;a[7]=7;a[6]=6;a[5]=5;a[4]=4;a[3]=3;a[2]=2;a[1]=1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友5e8412d
2012-07-10
知道答主
回答量:53
采纳率:0%
帮助的人:17.9万
展开全部
第一个for循环数组下标为0到9,而你的第二个for循环你是从a[10]开始输出的。所以你错在第二个循环的i赋值上面啦,应该为for(int i=9;i>=0;i--){ System.out.print("a["+i+"]"+a[i]+" ");} }}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邗启3V
2012-07-10 · TA获得超过7270个赞
知道大有可为答主
回答量:1413
采纳率:100%
帮助的人:1375万
展开全部
把0~9赋值给数组a
然后逆序输出数组
输出的你写错了 数组越界
改成:
for(int i= 9;i>=0;i--){
System.out.print("a["+i+"]"+a[i]+" ");}
}
希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心灰意冷bjh
2012-07-10 · TA获得超过329个赞
知道小有建树答主
回答量:236
采纳率:0%
帮助的人:243万
展开全部
数组定义成int[10] 下标是从0-9
所以第2个循环a[0]-a[9]
改为for(int i=9;i>0;i--) 你从10开始就会造成数组越界
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式