线程 "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 地址
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 地址