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)
{
    ...

07-26 01:20