在java数组中多次会使用带(String[] args)的main方法
可是下面这个程序,我不知道与命令行参数有什么关系
public class Message
{
public static void main(String[] args)
{
if(args[0].equals("-h"))
System.out.print("Hello,");
else if(args[0].equals("-g"))
System.out.print("Goodbye,");
for(int i=1;i<args.length;i++)
System.out.print(""+a[i]);
System.out.println("!");
}
}
可是下面这个程序,我不知道与命令行参数有什么关系
public class Message
{
public static void main(String[] args)
{
if(args[0].equals("-h"))
System.out.print("Hello,");
else if(args[0].equals("-g"))
System.out.print("Goodbye,");
for(int i=1;i<args.length;i++)
System.out.print(""+a[i]);
System.out.println("!");
}
}
2: java Message -h
-h 就是args[0].
好象是args[i]?
而且我在eclipse里调试这个程序是出错的,因为是刚开始看书学习这门语言所以很多地方比较迷茫
main()的格式为:
public static void main(String[] args)括号里的参数用来接收命令行传递的参数,是一个数组参数
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at 命令行参数.Message.main(Message.java:10)
是因为,你没有输入参数.这个时候系统是给他分配了空间(你可以打印数组的引用).
说明:
String []a=new String[0];
System.out.println(a[0]);
这个时候就报异常 因为分配了空间,但是是0个.也就是没有.
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at 命令行参数.Message.main(Message.java:10)
在ARGUMENT一栏里写上你要传的参数就可以了
就像C:\>dir /w 里面的/w就是dir的参数
所以
你可以
java XXX 参数名表
这样来运行
”应该怎样写啊?
真是为这个问题弄的头晕了啊!
{
public static void main(String[] args)
{
if(args[0].equals("-h"))
System.out.print("Hello,");
else if(args[0].equals("-g"))
System.out.print("Goodbye,");
for(int i=0;i<args.length;i++)
System.out.println(""+args[i]);
System.out.println("!");
}
}
编译运行 java Message test1 test2 test3
这样总可以了吧
运行的时候可以设定一下运行参数
2.在程序里加判断
like if (args != null && args.length != 0 )
http://www.javabbs.cn/dispbbs.asp?boardid=8&id=821&star=1&page=5
然后对每个数字进行方法的执行...