Я делаю простую программу, которая задает название и имя объекта: book1
. В конечном счете, цель состоит в том, чтобы иметь несколько книг под классом Patron
, который будет использовать класс Book
для назначения значений. Однако я затрудняюсь просто получить класс Patron
, чтобы признать методы класса Book
.Метод выполнения сложности из другого класса
Basic Tester/Основной метод:
import java.util.Scanner;
public class ProjectFiveSix {
public static void main(String[] args) {
String title = "Bob";
String name = "Hugo"; // name of patron (class assigning book)
String author = "Rodrigo";
Patron patronOne = new Patron();
patronOne.setName(name);
Patron Класс:
public class Patron {
private String name;
private Book book1;
private Book book2;
private Book book3;
public Patron(){
name = "";
book1 = null;
book2 = null;
book3 = null;
}
public String setName(String name){
return name;
}
public String borrowBook(String book1, String titleFinal, String authorFinal, String title, String author){
if (book1 == null){
book1.setTitle(titleFinal); //**
book1.setAuthor(authorFinal); //***
}
}
}
Книга Класс:
public class Book {
private String titleFinal;
private String authorFinal;
public Book(){
titleFinal = "";
authorFinal = "";
}
public String setTitle(String title){
titleFinal = title;
return titleFinal;
}
public String setAuthor(String author){
authorFinal = author;
return authorFinal;
}
}
Здесь я получаю "Не удается найти символ" на обеих линиях book1.settitle
и book1.setauthor
. Книга была создана, и я не могу понять проблему.
Заранее благодарен!
book1 должен быть объявлен как книга, а не строка. – BevynQ
Спасибо, ребята! Наличие параметра - String book1 - имеет мало смысла, изменило его на - Book book1 - и я должен уйти. – Dozar
Это может быть немного за пределами того места, где вы сейчас находитесь, но использование сеттеров - это запах кода. Вы должны предпочесть устанавливать поля в конструкторе. Подумайте об этом: хотите ли вы иметь возможность изменить название или автора книги в реальной жизни? Итак, 'public Book (String title, String author) { this.title = название; this.author = author; } ' Кроме того, вы должны использовать какой-то список (например, ArrayList) вместо hardcoding определенное количество переменных книги в классе покровителей – Floegipoky