错误:使用JAVA的系统的IP地址

时间:2014-01-07 06:41:42

标签: java sockets ip

我使用InetAddress获取IP地址。

这是我的代码

String hostname=args[0];


        try {
            InetAddress ipaddress= InetAddress.getByName(hostname);
            System.out.println("IPADDRESS" +ipaddress.getHostAddress());
        } catch (UnknownHostException e) {
            // TODO Auto-generated catch block
            System.out.println("Could not find anything" +hostname);
        }

但是在控制台中

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
    at com.networking.ipaddress.IP.main(IP.java:11)  

实际上有什么问题?代码或系统有问题吗?

2 个答案:

答案 0 :(得分:0)

您正在从程序参数中获取主机名,但在启动java时未指定hostname作为程序参数,因此 args []数组为空数组,这就是访问其[0]元素引发异常的原因。 在运行应用程序时,必须将hostname指定为java的参数,如下所示:

java YourClassFileName 192.168.1.1

答案 1 :(得分:0)

您可以查看班级中第11行的确切位置,但显然它是您为主机名形式指定args数组的行。

String hostname=args[0];

如果它是main方法的args []数组,请确保在运行程序时传递主机名。