import java.util.*;
  
  class Author
  {
    String name;
    BookList books=new BookList();
    Author(String name)
    {
      this.name=name;
    }
  }
  class BookList extends LinkedList
  {
   BookList()
   {
    super();
   }
   protected void display()
   {
    for(int i=0;i<size();i++)
      System.out.println(get(i).toString());
     
   }
  }
  class AuthorList extends LinkedList
  {
   AuthorList()
   {
    super();
   }
   protected void display()
   {
    for(int i=0;i<size();i++)
      System.out.println(get(i).toString());
   }
  }
  class Library
  { 
   static AuthorList[] Authors=new AuthorList[((int)('Z'-'A'))+1];
   
   
   static void status()
   {
    System.out.println("Library has the following books\n");
    for(int i=0;i<(int)('Z'-'A')+1;i++)
    {
     if(Authors[i]!=null)
      Authors[i].display();
     }
   } 
   public static void main(String[] args)
   {
    
  String[] authorname=new String[]{"Zhangjj","Awang","Chenwei","Fwangguang","Tom adisty","Sunxin","Yang tiyan"};
    String name=null;
    for(int i=0;i<authorname.length;i++)
    {
     name=authorname[i];
     Author au1=new Author(name);
     Authors[(int)(name.charAt(0)-'A')].add(au1);
    
    }
    status();
    
           
   }
  }本人大意是:        图书馆同一个作者可能出好几本书这些书就有一个链表来存放.所以就在Author里加个BookList作者名字第一个字母相同则用一个链表来存放.名字第一个字母是A-Z所以就一个链表数组.(不知这样可否)AuthorList[] Authors=new AuthorList[((int)('Z'-'A'))+1];不同作者加到不同的链表里而我在加入作者到相应的作者链表时,却发生了空指针异常Exception in thread "main" java.lang.NullPointerException于是我就用Authors[0].add(new Integer(5)) 来测试一下,结果还是发生了同样的错误,小弟实在不解,是不是不能用链表数组呢?AuthorList[] Authors=new AuthorList[((int)('Z'-'A'))+1];希望各位给以指点~~