Q:

Having issues with a returning 0 with a user input value could be any number

I am working on a debugging assignment for class, I have finished the debugging parts of it and he has hidden the last debug the returning of the zero in the output. No matter what you type in for the input it will always return zero.
I have a feeling it is related to the "public void display() method" If someone can give me some guidance on where I can look and troubleshoot that would be very appreciated.
// A PhoneBook is a Book with a city
import java.util.Scanner;

public class DebugPhoneBook {

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    String area;
    int pages;

    System.out.println("Enter city for phone book");
    area = input.nextLine();

     System.out.println("Enter number of pages in " + area + "'s phone      book");
    pages = input.nextInt();

    PhoneBook pb = new PhoneBook(area, pages);

    pb.display();
 }
 }

 //***************************************************
 //**  PhoneBook class starts below this box   **
 //***************************************************
  class PhoneBook extends Book {

  final private String area;
  final private String size;

   public PhoneBook(String city,int pages ) {
    super(pages);
    area = city;
    if (pages > 300) {
        size = "big";
    } else {
        size = "small";
    }
    }

   public void display() {
    System.out.println("The phone book for " + area
            + " has " + pages + " pages.\nThat is a "
            + size + " phone book.");
   }
}

  //******************************************************
  //** Book class starts below this box                 **
  //******************************************************
 class Book {

 protected int pages;

 public Book(int pgs) {
    pgs = pages;
 }

 public int getPages() {
    return pages;
 }
}

A:

Your Book constructor doesn't store the value you pass to it:
public Book(int pgs) {
    pgs = pages;
}

The default value of pages (or any int) is 0.  Not to mention that setting pgs like that doesn't actually do anything as it's passed by value to the method.
I suspect you meant to do that the other way around:
public Book(int pgs) {
    pages = pgs;
}

