我试图运行此程序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(); 
    } 
    } 
    } 
+0

您必须首先检查args.length。 – Dmytro 2014-11-04 09:18:41

+0

@Dmytro其可能为0,并不会帮助解决问题。 – 2014-11-04 09:19:21

+0

为这种情况添加默认值或确保您使用适当的参数运行应用程序。 – Dmytro 2014-11-04 09:20:21

你必须开始程序与农业。

java GreetingClient myServer 1337 

Here is an official tutorial for that topic

在编译时,你会写,JAVA GreetingClient服务器名。因此请对您的代码进行以下修改, String serverName = args [2]; int port = Integer.parseInt(args [3])