java中关于argv[]的一个问题

public class myprog
{
public static void main(String argv[])
{
System.out.println(argv[2]);
}
}
编译之后,运行java myprog good morning
为什么会提示数组越界?
exception raised: 'java.lang.arrayindexoutofboundsexception: 2'
这只有两个数组元素啊

数组下标从0算起。argv[2]也就是3个元素。你输入的参数为两个而你的输出却有3个那当然就越界了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-11-19
数组从0开始,你的System.out.println(argv[2]);
打印的是第三个,当然越界了。
数数,0,1,2,就是3个了嘛。
第2个回答  2009-11-19
那个数组从0开始 0 和1 存了数

还有 你要保证运行的时候传了参数进去,这样才行

如 java ../myprog c1 c2
第3个回答  2009-11-19
是有两个,但是是从0开始的,也就是0,1.。。。
第4个回答  2009-11-19
楼上回答正确。数组时从 0 开始算的