我试图运行此程序GreetingClient但它给我的错误
问题描述:
它给我喜欢的异常错误线程“main” java.lang.ArrayIndexOutOfBoundsException:0 在GreetingClient.main(GreetingClient.java:8)我试图运行此程序GreetingClient但它给我的错误
import java.net.*;
import java.io.*;
public class GreetingClient{
public static void main(String [] args)
{
String serverName = args[0];
int port = Integer.parseInt(args[1]);
try
{
System.out.println("Connecting to " + serverName + " on port " + port);
Socket client = new Socket(serverName, port);
System.out.println("Just connected to " + client.getRemoteSocketAddress());
OutputStream outToServer = client.getOutputStream();
DataOutputStream out =new DataOutputStream(outToServer);
out.writeUTF("Hello from "+ client.getLocalSocketAddress());
InputStream inFromServer = client.getInputStream();
DataInputStream in = new DataInputStream(inFromServer);
System.out.println("Server says " + in.readUTF());
client.close();
}catch(IOException e)
{
e.printStackTrace();
}
}
}
答
在编译时,你会写,JAVA GreetingClient服务器名。因此请对您的代码进行以下修改, String serverName = args [2]; int port = Integer.parseInt(args [3])
您必须首先检查args.length。 – Dmytro 2014-11-04 09:18:41
@Dmytro其可能为0,并不会帮助解决问题。 – 2014-11-04 09:19:21
为这种情况添加默认值或确保您使用适当的参数运行应用程序。 – Dmytro 2014-11-04 09:20:21