我不知道为什么我们的教授为什么要让我们进行这种怪异的印刷,但是对于我们的最终印刷来说,它是在一个小时之内完成的,而我一直试图使其永久运行,而我却什么也做不了。因此,我有四个班级,分别为MyWord,Section,Page和Newspaper。 MyWord只是Myword。 Section包含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(" ");
    }
}

最佳答案

我认为您应该将数组作为MyWord而不是Word,所以:

MyWord [] w =新的MyWord [3];

那么据我所知它可能行得通吗?您能否说出在尝试运行/编译时会发生什么?

关于java - 使用以下命令打印多个类别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16493434/

10-10 22:57