if(isEmpty());  <<-----------";"多余
{
System.out.println("队列空白");
return new Man("");
}

解决方案 »

  1.   

    改成如下就可以了!public Man removeHead()
    {
    if(isEmpty());
    {
    System.out.println("队列空白");
    return new Man("");
    }else{
    head = (head + 1) % queue.length;
    return queue[head];
    }
    }
      

  2.   

    if(isEmpty())
    {
    System.out.println("队列空白");
    return new Man("");
    }else{
    head = (head + 1) % queue.length;
    return queue[head];
    }
    这种情况没有确切的返回值,更定不能编译通过的。你是过码?
      

  3.   

    关键错误在这里。
    public Man removeHead()
    {
    if(isEmpty());/*这里有个大bug,造成后面两条语句根本不可能执行,所以才出现你所说的编译错误*/
    {
    System.out.println("队列空白");
    return new Man("");
    }
    head = (head + 1) % queue.length;
    return queue[head];
    }其实是你不小心多加了一个分号嘛。