user2372045
user2372045

Reputation: 1

Printing off multiple classes with

I have no idea why our professor is making us do this weird printing but its for our final, its due in an hour, and ive been trying to get it to run forever and I cant get anywhere. So i have four classes, MyWord, Section, Page and Newspaper. MyWord is just Myword. Section contains Section and MyWord. Page includes Section, Page, and MyWord. Newspaper contains them all. I have a main method that just prints off the info you type in. Here is the only example provided. All of my code is included from the classes to show I've actually done work and need help. thank you.

Word[] w = new Word[3];     //example
w[0] = new Word(“hello”); 
w[1] = new Word(“bob”); 
w[2] = new Word(“smith”); 
Section s = new Section(w, 20); 
s.print(); 
//the above call to print should print off the following or something 
//very similar to the following: 
//Section 20: hello bob smith 




my classes are also here

public class MyWord
{
    private String word;    

    public MyWord(){ //constructor 
        word = "";
    }

    public MyWord(String word){  //using this keyword to assign word
        this.word=word;
    }

    public String getWord(){  //accessor
        return word;
    }

    public void setWord(String word){  //mutator
    this.word=word;
    }

    public void print(){
    System.out.print(word);

    }

}




public class Section
{
    private MyWord[] words;  //taking in MyWord
    private int sectionNumber;

    public Section(){  //default constructor
        words = new MyWord[0];
        sectionNumber = 0;
    }

    public Section(MyWord[] m, int num){  //constructor
        words = m;
        sectionNumber = num;
    }

    public int getSectionNumber(){  //accessor
        return sectionNumber;
    }

    public void setSectionNumber(int num){  //mutator
        sectionNumber = num;
    }

    public MyWord[] getWords(){  //accessor
        return words;
    }

    public void setWords(MyWord[] m){  //mutator
        words = m;
    }

    public void print(){
        System.out.print("Section " + sectionNumber + ": ");
        for(int i =0; i <words.length; i++){
            words[i].print();
            System.out.print(" ");
        }
    }

}


public class Page
{
  private Section[] sections;  //taking in other class
    private int pageNumber;

    public Page(){  //setting defaults
        sections = new Section[0];
        pageNumber = 0;
    }

    public Page(Section[] m, int num){  //passing in sections[]
        sections = m;
        pageNumber = num;
    }

    public int getPageNumber(){  //accessor
        return pageNumber;
    }

    public void setPageNumber(int num){  //mutator
        pageNumber = num;
    }

    public Section[] getSections(){  //accessor
        return sections;
    }

    public void setSections(Section[] m){  //mutator
        sections = m;
    }

    public void print(){  
        System.out.print("Page " + pageNumber + ": ");
        for(int i =0; i <sections.length; i++){
            sections[i].print();
            System.out.print(" ");
        }
        System.out.println(" ");
    }

}




public class Newspaper
{
   private Page[] pages;  //taking in Page[]
    private String title;
    private double price;

    public Newspaper(){
       pages = new Page[0];
       title = "Comp Sci Newspaper";  //default title
       price = 2.50;    //default price
    }

    public Newspaper(Page[] m, double num, String t){
        pages = m;
        price = num;   //assigning values
        title = t;
    }

    public String getTitle(){ //accessor
        return title;
    }

    public void setTitle(String t){  //mutator
        title = t;
    }

    public Page[] getPages(){   //accessor
        return pages;
    }

    public void setPages(Page[] m){   //mutator
        pages = m;
    }

    public double getPrice(){   //accessor
    return price;
    }

    public void setPrice(double num){   //mutator
    price = num;
    }

    public void print(){
        System.out.print("Newspaper " + title + " " + "Price: " + price);
        for(int i =0; i <pages.length; i++){
            pages[i].print();
            System.out.print(" ");
        }
        System.out.println(" ");
    }
}

Upvotes: 0

Views: 85

Answers (1)

RenegadeAndy
RenegadeAndy

Reputation: 5690

I think you should be making your array as MyWord not Word, so :

MyWord[] w = new MyWord[3];

Then as far as I can see it might work? Can you say what happens when you try to run / compile it?

Upvotes: 1

Related Questions