以下实施是否正确?
输入: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());
}
答案 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;变量.. 完整的堆栈跟踪可以为您提供更多详细信息