数组中的奇怪问题

nbu*_*chi 0 java arrays

我正在使用Java开发一个小型服务器应用程序.所以,我从不同的客户端获取信息,如果信息进来,则调用以下方法:

public void writeToArray(String data) {
    data = trim(data);
    String[] netInput = new String[5];
    netInput[0]="a";
    netInput[1]="a";
    netInput[2]="a";
    netInput[3]="a";
    netInput[4]="a";
    netInput = split(data, ",");
    pos_arr = PApplet.parseInt(netInput[0]);
    rohr_value = PApplet.parseInt(netInput[1]); // THIS LINE KICKS OUT THE ERROR.
    if(pos_arr >0 && pos_arr<100) {
        fernrohre[pos_arr] = rohr_value;
        println("pos arr length: " + fernrohre[pos_arr]);
        println("pos arr: " + pos_arr);
    }
Run Code Online (Sandbox Code Playgroud)

OS X上的控制台给出了以下错误:

Exception in thread "Animation Thread"
java.lang.ArrayIndexOutOfBoundsException:1
 at server_app.writeToArray(server_app.java:108) at server_app.draw(server_app.java:97)
 at processing.core.PApplet.handleDraw(PApplet.java:1606)
 at processing.core.PApplet.run(PApplet.java:1503)
 at java.lang.Thread.run(Thread.java:637)
Run Code Online (Sandbox Code Playgroud)

如您所见,我尝试使用至少5个条目填充数组netInput,因此不会出现ArrayIndexOutOfBoundsException.

我不明白,我很感谢你的帮助!

如果我能抓住错误并继续保持应用程序,它对我来说已经有用了.

Qwe*_*rky 10

你把5个字符串放入数组中,然后用这一行撤消你所有的好工作;

netInput = split(data, ",");
Run Code Online (Sandbox Code Playgroud)

data 显然没有任何逗号.

  • 给@carlos所说的+1.我们这里几乎所有人都认为"拆分"按预期工作. (2认同)