从Console打印参数

时间:2013-04-18 08:21:13

标签: java console

我想从ubuntu控制台运行参数。

  

./ myTool -h

我得到的只是“1”的印刷品。

有人可以帮忙吗?

谢谢!

public static void main(String[] argv) throws Exception
{

    System.out.println("1");
    for(int i=0;i<argv.length;i++)
    {
        if (argv.equals("-h"))
        {
            System.out.println("-ip   target ip address\n");
            System.out.println("-t    time interval between each scan in milliseconds\n");
            System.out.println("-p    protocol type [UDP/TCP/ICMP]\n");
            System.out.println("-type scan type [full,stealth,fin,ack]\n");
            System.out.println("-b    bannerGrabber status\n");

        }

}

4 个答案:

答案 0 :(得分:2)

argv是一个完整的数组。您要匹配的是具有字符串-h的数组的整个内容。试着这样做:

public static void main(String[] argv) throws Exception
{

    System.out.println("1");
    for(int i=0;i<argv.length;i++)
    {
        if (argv[i].equals("-h"))
        {
            System.out.println("-ip   target ip address\n");
            System.out.println("-t    time interval between each scan in milliseconds\n");
            System.out.println("-p    protocol type [UDP/TCP/ICMP]\n");
            System.out.println("-type scan type [full,stealth,fin,ack]\n");
            System.out.println("-b    bannerGrabber status\n");

        }
     }
}

旁注:This之前的SO帖子也值得一试。

答案 1 :(得分:2)

您错过了if条件中的数组索引:

argv[i].equals("-h")

答案 2 :(得分:0)

您正在将数组与字符串进行比较。将其更改为:

   if (argv[i].equals("-h"))

答案 3 :(得分:0)

您尝试将String []与String进行比较。

尝试改为:

    if (argv[i].equals("-h"))