Arrayindex out of bounds
错误正在显示,我尤其不知道为什么会发生。我正在尝试创建2N个元组对象,并尝试将它们放入大小为2N的数组中
Tuple[] minuteunit = new Tuple[2*N];
if(!intervals.isEmpty())
{
for(i = 0; i < ((2*N)-1); i = 1+2)
{
minuteunit[i] = new Tuple(intervals.get(i).getBeginMinuteUnit(),"s");
minuteunit[i+1] = new Tuple(intervals.get(i).getEndMinuteUnit(),"e");
}
最佳答案
您最有可能在i
中使用intervals.get(i)
的脸,因为i
会递增+2
。我想像您在N
中具有intervals
值,因此,当i >= (N/2)
时,您会溢出。
尝试这个:
for(i = 0; i < N; i++)
{
minuteunit[2*i] = new Tuple(intervals.get(i).getBeginMinuteUnit(),"s");
minuteunit[2*i+1] = new Tuple(intervals.get(i).getEndMinuteUnit(),"e");
}
另外,假设间隔应包含
N
条目,则可以将intervals.isEmpty()
检查更新为:if(intevals.size() == N)
{
...