Как использовать конструкторы, чтобы распечатать тему, цвет и страницы для каждой книги? - PullRequest
0 голосов
/ 17 января 2019

Как использовать конструкторы, чтобы распечатать тему, цвет и страницы для каждой книги?

Я новичок, пожалуйста, прости меня. Всякий раз, когда я пытаюсь ввести Book1.bookSubject, он сообщает, что не удалось найти символ ошибки.

public class Books_A  
{ 

public static void main(String args[]) 

{

bookData Book1 = new bookData("geometry", "blue", 756);

bookData Book2 = new bookData("algebra", "green", 805);

bookData Book3 = new bookData("algebra", "red", 884);



System.out.println("Title             Color            Pages");
System.out.println( + Book1.bookSubject );




}
}

class bookData
{

String Subject;

String Color;

int Pages;

bookData( String bookSubject, String bookColor, int bookPages)

{

bookSubject = Subject;

bookColor = Color;

bookPages = Pages;

}

}

Ответы [ 2 ]

0 голосов
/ 17 января 2019

В вашем коде мало ошибок. Читайте комментарии после каждой строки.

public class Books_A  
{ 

    public static void main(String args[]) 
    {

        BookData Book1 = new bookData("geometry", "blue", 756);
        BookData Book2 = new bookData("algebra", "green", 805);
        BookData Book3 = new bookData("algebra", "red", 884);

        System.out.println("Title             Color            Pages");
        System.out.println(  Book1 ); // prints book 1 info
        System.out.println(  Book2 ); // prints book 2 info
        System.out.println(  Book3 ); // prints book 3 info


     }
 }

class BookData // Class name start with captital
{

    String subject; // member names always start with lowercase
    String color;   // member names always start with lowercase
    int pages;      // member names always start with lowercase

    BookData( String bookSubject, String bookColor, int bookPages)
    {

        subject= bookSubject ; // in your code assignment was reverse
        color=bookColor ;  // in your code assignment was reverse
        pages=bookPages ;  // in your code assignment was reverse

     }

     //Override toString method on bookData class.

     @Override
     public String toString() {
        return this.subject+"\r"+this.color+"\r"+this.pages;
     }

  }
0 голосов
/ 17 января 2019

Вам нужно написать:

System.out.println(Book1.Subject);

bookSubject является локальной переменной для этого конструктора, и поэтому может использоваться только внутри нее. Но поскольку вы сделали Subject глобальной переменной, вы можете получить к ней доступ из любого места вне класса через имя объекта.

...