我无法将对象数组中的所有元素分配给另一个对象

时间:2019-10-24 13:51:12

标签: java arrays object

我可以构建一个对象数组(类型Book,一个book对象返回一个包含标题和作者的字符串),该对象可以存储所需数量的对象并进行打印。

我已经声明了一个初始数组来存储对象,如果超出了初始限制,则创建一个更大的将元素从数组a移到b的操作

Book[] books=new Book[iLimit];
public boolean addBook(Book b) {
  if (c>=iLimit) {
    nbooks=new Book[c+1];
    while (t!=0) { 
      for (int i=0;i<books.length;++i) {
        nbooks[i]=books[i];
      }
      t=0;
    }
    for (int i=0;i<c;i++) {
      if (b.equals(nbooks[i])) {
        return false;
      }
    }
    nbooks[c]=b;
    c++;
    return true;
  }
  books[c]=b;
  for(int i=0;i<c;i++) {
    if(books[i].equals(books[c])) {
      return false;
    }
  }
  c++;
  return true;
}


当我尝试打印超过分配给对象数组的初始空间的nbook数组时,它会正确打印出最后一个元素,其余元素打印为null。

0 个答案:

没有答案