使用打印多个类

时间:2013-05-11 03:26:18

标签: java methods printing chaining

我不知道为什么我们的教授让我们做这个奇怪的印刷,但它为我们的决赛,它在一个小时内到期,并且我一直试图让它永远运行,我无法到达任何地方。所以我有四个课程,MyWord,Section,Page和Newspaper。 MyWord只是Myword。部分包含Section和MyWord。页面包括Section,Page和MyWord。报纸包含所有内容。我有一个主要方法,只打印您输入的信息。这是唯一提供的示例。我的所有代码都包含在类中,以显示我实际上已完成工作并需要帮助。谢谢。

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(" ");
    }
}

1 个答案:

答案 0 :(得分:1)

我认为你应该把你的数组作为MyWord而不是Word,所以:

MyWord [] w = new MyWord [3];

然后据我所知它可能有用吗?你能说出当你试图运行/编译它会发生什么吗?