호스트 이름을 전달하여 호스트 주소를 가져 오려고합니다. 하지만 내 코드를 실행하는 동안 예외가 발생합니다."main"스레드의 예외 java.lang.ArrayIndexOutOfBoundsException : 0
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at socketprogram_client.SocketProgram_Client.main(SocketProgram_Client.java:16)
Java Result: 1
아무도 왜이 오류가 발생하는지 알려주실 수 있습니까? 당신은 args
그래서 args[0]
에 인수를 전달되지 않을 수 있습니다
package socketprogram_client;
import java.io.*;
import java.net.*;
public class SocketProgram_Client
{
public static void main (String args[]) throws IOException
{
String host_name = args[0];
try
{
InetAddress my_ipaddr = InetAddress.getByName(host_name);
System.out.println("Resolved to IP address: " + my_ipaddr.getHostAddress());
}
catch (UnknownHostException e)
{
System.out.println("Could not find IP address for: " + host_name);
}
}
}
원본의 코드 서식이 확실하지 않았습니다. 서식을 추가 할 때 행 번호가 변경되고 16 행에서 예외가 더 이상 16 행과 일치하지 않을 가능성이 있습니다. –
args가 전달되는지 확인하십시오. Do a System.out.println (args.length) – markbernard
또는 프로그램 디버깅 방법을 익히십시오. – Tdorno