java.lang.ArrayIndexOutOfBoundsException:发生错误

java.lang.ArrayIndexOutOfBoundsException:发生错误,java,arraylist,Java,Arraylist,我正在尝试制作一个执行命令的程序。我正在用空格分割命令。 在控制台中,如果我键入(x2c),它将在打印前2个命令时工作,然后清除所有前2个命令。 但是,如果我只想打印以前的历史记录命令,而不清除ex)(x1)的命令,则存在java.lang.ArrayIndexOutofBounds异常:在访问Split[2]之前,检查Split.length>2当您输入x1并将其拆分为一个数组时,生成的数组将是[“X”,“1”]。由于数组从0开始,数组的大小为2,“X”的索引为0,“1”的索引为1 通过尝试访

我正在尝试制作一个执行命令的程序。我正在用空格分割命令。 在控制台中,如果我键入
(x2c)
,它将在打印前2个命令时工作,然后清除所有前2个命令。
但是,如果我只想打印以前的历史记录命令,而不清除
ex)(x1)的命令,则存在java.lang.ArrayIndexOutofBounds异常:

在访问
Split[2]
之前,检查
Split.length>2
当您输入
x1
并将其拆分为一个数组时,生成的数组将是
[“X”,“1”]
。由于数组从0开始,数组的大小为2,“X”的索引为0,“1”的索引为1

通过尝试访问
Split[2]
您试图访问一个不存在的值和一个超过数组长度的索引,从而获得
ArrayIndexOutOfBoundsException


在尝试访问某些索引之前,应始终确保尝试访问的索引在数组大小范围内。

Split[2]
只有在没有
ArrayOutOfBoundsException
的情况下才会成功。您是否先检查了
Split.length>2
,然后才假设
Split[2]
会成功?错误消息是怎么说的?你的调试器怎么说?