我希望你能解决我的问题。
我有一个ServerClass和一个ClientClass,我可以连接这两个程序。但是,如果我想通过相同的Virtutal机器将多个客户端连接到我的服务器,则会收到以下错误:java.lang.ArrayIndexOutOfBoundsException: 0
我通过了我的程序命令行参数!
但我不知道为什么......以下是对我的问题很重要的部分:
public class ClientStart {
[...]
public static void main(String[] args) {
System.out.print("Geben Sie Ihre IP-Adresse ein: ");
ipadress = readString();
args[0] = ipadress;
System.out.println("");
if (args.length != 1) {
System.exit(1);
}
connect();
ipadress = "";
}
public static void connect() {
InetSocketAddress inetSocketAddress
= new InetSocketAddress(ipadress, 56789);
[...]
谢谢!
答案 0 :(得分:1)
<title>{block:TagPage} {Tag} - {/block:TagPage}{block:SearchPage}{lang:Search results for SearchQuery} - {/block:SearchPage}{block:PostSummary}{PostSummary} - {/block:PostSummary}{Title}</title>
是一个数组,其长度在初始化期间确定(与任何其他数组一样)。
在你的情况下,可能因为你没有将任何参数传递给你的程序,它的'大小为零,因此
args
抛出args[0] = ipadress;
,因为数组的长度为零。
答案 1 :(得分:0)
main方法中的args []用于执行程序时传递的参数。你不能使用args [0]因为没有参数调用程序而且数组是空的。
只需使用您在ipadress中读取的值,不要尝试将其分配给args [0]。如果您提供更多代码,我会更有帮助。
args[0] = ipadress; // Args here is an empty array - you don't need that line