线程 "main" java.lang.ArrayIndexOutOfBoundsException 中的异常:0 在 demo.Lookup.main(Lookup.java:19)

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at demo.Lookup.main(Lookup.java:19)

package demo;
import java.net.*;

public class Lookup {
    private InetAddress inet = null;
    public void resolve(String host){
        try{
            inet = InetAddress.getByName(host);
            System.out.println("Host name :" +inet.getHostName());
            System.out.println("IP Address:" +inet.getHostAddress());
        }
        catch(UnknownHostException e){
            e.printStackTrace();
        }
    }

    public static void main(String[] args){
        Lookup lookup = new Lookup();
        lookup.resolve(args[0]);
    }
}

我得到了:
线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 0 在 demo.Lookup.main(Lookup.java:19)

谢谢

无论您在何处调用此函数,都不会将任何 args 传递到您的 args 参数中。因此,当您尝试获取第一个值时,那里什么也没有。

main 方法中的“args”通过参数传入

public static void main(String[] args)

假设您正在使用命令行编译代码:

javac demo\Lookup.java (I am using windows here) 

命令行执行代码时可以传入参数

java demo.Lookup <lookup ip address here>

如果您正在使用 IDE 例如 Eclipse,您可以配置您的“运行 配置”以在“程序参数”

中传入 IP 地址