练习Java - EDX

时间:2015-05-20 11:06:51

标签: java arrays object

以下实施是否正确?

输入:Oldrecords(GameRecord对象数组)和newRecords(GameRecord)

我将检查oldRecords数组中的newRecord值。如果它不存在且oldrecord数组的长度小于10,我将newRecord添加到更新的数组。

添加新记录时,我得到异常的数组绑定。

    if (size < 10){
            int length = size + 1;
            updatedRecords = new GameRecord[length];
            System.arraycopy(oldRecords, 0, updatedRecords, 0, size);
            updatedRecords[length]=newGameRecord(newRecord.getName(),newRecord.getLevel(),newRecord.getScore());
}

2 个答案:

答案 0 :(得分:2)

将其放在size,而不是length

if (size < 10){
  int length = size + 1;
  updatedRecords = new GameRecord[length];
  System.arraycopy(oldRecords, 0, updatedRecords, 0, size);
  updatedRecords[size]=newGameRecord(newRecord.getName(),newRecord.getLevel(),newRecord.getScore());
} 

答案 1 :(得分:0)

我看到的可能性是oldRecords数组的大小将小于&#39; size&#39;变量.. 完整的堆栈跟踪可以为您提供更多详细信息