在eclipse中运行以下程序,为什么数组下标越界?

在eclipse中运行以下程序,为什么数组下标越界?

public static void main(String[] args) {

// TODO Auto-generated method stub

int num1 = Integer.parseInt(args[0]);

int num2 = Integer.parseInt(args[1]);

int sum = num1 + num2;

System.out.println("sum="+sum);


}


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,很抱歉老师没有仔细看清同学问的问题。在Eclipse中运行程序,如果没有输入命令行参数,那么args数组长度为0,args数组中没有元素。所以程序执行到args[0]时,就会报下标越界错误。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕阿慧 2020-07-17 17:28:01

同学你好,使用java命令执行程序的时候,会将输入的命令行参数依次放到args数组中。args数组的长度就是命令行参数的个数,数组下标从0开始到"数组长度-1"结束。

例如:

http://img1.sycdn.imooc.com//climg/5f116ecf0949941104470141.jpg

运行效果如下:

http://img1.sycdn.imooc.com//climg/5f116eb1091a858d02520125.jpg

当输入的参数个数小于2时,如只输入3,则args数组的长度为1,数组下标只有0,所以args[1]就会报下标越界错误。

http://img1.sycdn.imooc.com//climg/5f116f1a096323d506400097.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 慕妹5486910 #1
    我问的是在eclipse中运行?这个好像是cmd吧
    2020-07-17 17:46:53
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师