如果你运行
java WhoAmI mypc otherpc则“mypc”和“otherpc”
两个字符串会赋值到args数组中
即args[0]="mypc"
  args[1]="otherpc"
当然参数个数可以是从0到N理解这个就好解释你的问题了
1、
args.length != 1
判断args字符串数组的大小,即参数的个数,按照要求,参数只能是1个,否则就认为运行参数错误2、
InetAddress a = 
      InetAddress.getByName(args[0]);
由于参数只有1个,所以args[0]里面放的就是传入的参数,按照程序来看,应该是机器的名字
而整句话的意思是根据机器的名字获取它的ip地址

解决方案 »

  1.   

    楼上完全正确args[0],args[1].........你运行程序时
    java WhoAmI 你的机器名你的机器名是args[0]
      

  2.   

    确是如此。只是我想不懂,如果是一个非常复杂的程序,args[]是如何加载的呢?
      

  3.   

    运行的时候再cmd下输入java WhoAmI aaa  bbb  ccc不就加载字符串数组了吗?
    要是非常复杂的,偶就不知道了,偶是菜鸟,刚学java
      

  4.   

    我想我是最水的了,但我还是把我所知道的说一下
    在MAIN函数中,
    有一个ARGS
    ARGS用来存储参数列表的字符串数组
    他不是一定要是这个名字,你可换用别名字
    后面的args.length != 1
    我用我的C知识来理解的,数组长度不等干1
    呵呵,我只知道这么多了,请指正!
      

  5.   

    基本上明白。除了在这种情况下,args一般还会用在什么地方了??
      

  6.   

    请问可以在程序里直接赋值给args[]吗?调试程序的时候可是输入 java WhoAmI ...... 可是如果是2个程序相关联,或是分前后台,能否让一个参数=args[],如果可以望指教如果实现,谢谢!
      

  7.   

    这个就是参数传递的问题了啊,只是main函数比较特殊只是由系统调用来传递的参数,程序中的方法是没有权力调用他的啊!!!!就这么简单……args就是mian的参数.length就是String类的一 个方法,就是有几个参数.length 就等于几
      

  8.   

    TO:jzg1234(雨中夕阳)
     并不是其他方法不能调用main(String[] args)方法,main(String[] args)的特殊之处就是它作为Application的入口方法被JVM调用,仅此而已。