在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("!");
       }
   }

解决方案 »

  1.   

    1:   javac Message.java
    2:    java Message  -h  
    -h 就是args[0].
      

  2.   

    a[i]) 是什么啊
    好象是args[i]?
      

  3.   

    我是想问这个程序为什么和命令行参数有关?
    而且我在eclipse里调试这个程序是出错的,因为是刚开始看书学习这门语言所以很多地方比较迷茫
      

  4.   

    所谓的命令行参数,就是在运行的命令后增添参数,传递给main()使用
    main()的格式为:
    public static void main(String[] args)括号里的参数用来接收命令行传递的参数,是一个数组参数
      

  5.   

    那针对上面那个程序,我为什么在eclipse开发环境下运行要出错呢?是不是要添加命令行参数呢?
      

  6.   

    运行后出错显示
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at 命令行参数.Message.main(Message.java:10)
      

  7.   

    这个错误是输入数组的下标越界.那针对上面那个程序,我为什么在eclipse开发环境下运行要出错呢?是不是要添加命令行参数呢?
    是因为,你没有输入参数.这个时候系统是给他分配了空间(你可以打印数组的引用).
    说明:
    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)
      

  8.   

    这个程序应该怎样改才能在eclipse中正确运行呢?我还是不是很明白,烦请指点
      

  9.   

    你没有在ECLIPSE里传参数,当然报越界错误了啊
    在ARGUMENT一栏里写上你要传的参数就可以了
      

  10.   

    可以加参数
    就像C:\>dir /w 里面的/w就是dir的参数
    所以
    你可以
    java XXX 参数名表
    这样来运行
      

  11.   

    实在不好意思问下 那写在程序里“在ARGUMENT一栏里写上你要传的参数就可以了
    ”应该怎样写啊?
      

  12.   

    比如我想传送-g cruel world这三个参数,那我应该怎样把这个参数在程序里反映出来呢?
    真是为这个问题弄的头晕了啊!
      

  13.   

    我认为是application程序的入口是一个main()函数,从我的的主函数里参数的定义来说是一个字符串数据,所以后面可以传递字符串,上面的程序就是用这个原理来做的
      

  14.   

    到底这个程序要实现:Goodbye,cruel world!这个结果,在eclipse里应该怎样写呢?而且这个程序说明了什么与命令行参数有关的概念呢?
      

  15.   

    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=0;i<args.length;i++)
                 System.out.println(""+args[i]);
              System.out.println("!");
           }
       } 
    编译运行 java Message test1 test2 test3 
    这样总可以了吧
      

  16.   

    方法一
    运行的时候可以设定一下运行参数
    2.在程序里加判断
    like if (args != null && args.length != 0 )
      

  17.   

    方法一参考可以参考一下
    http://www.javabbs.cn/dispbbs.asp?boardid=8&id=821&star=1&page=5
      

  18.   

    命令行输入的数据放入数组args[]
    然后对每个数字进行方法的执行...