请教各位,以下那段代码能显示最后一个命令行参数,并且当不存在命令行参数时,不会抛出异常?
以下是这几个程序的代码:
(a)public static void main(String args[])
{
if(args.length!=0)
System.out.println(args[args.length-1]);
}
(b)public static void main(String args[])
{
try
{
System.out.println(args[args.length]);
}
catch(
ArrayIndexOutOfBoundsException e){}
}
(c)public static void main(String args[])
{
int ix=args.lenght;
String last=args[ix];
if(ix!=0)
System.out.println(last);
}
(d)public static void main(String args[])
{
int ix=args.lenght-1;
if(ix>0)
System.out.println(args[ix]);
}
(e)public static void main(String args[])
{
try
{
System.out.pritnln(args[args.lenght-1]);
}
catch(
NullPointerException e){}
}
能再麻烦下各位高手详细的告诉下,每个都会出现什么结果,又是什么原因呢,谢谢了。
------解决方案--------------------
public static void main(String args[])
===========================
main函数的参数args是一个一维的字符串数组,这个参数比较特殊(估且这样说吧)。因为这个参数中的各个值是在程序中使用,程序外传入的(你每次右击源码将要编译执行时,下面还有个调试,再下面有个“运行”选项,打开“运行”/"自变量",在"自变量"中输入参数即可,每个参数以空格区分开即可)。
java中嘛,对数组也是下标从0开始。
所以,说了这么多,你应该能明白了吧?