Как сделать метод, который маркирует объект
public class Book {
String title;
boolean borrowed;
// Creates a new Book
public Book(String bookTitle){
bookTitle= "The Da Vinci Code";
}
// Marks the book as rented
public void borrowed() {
}
// Marks the book as not rented
public void returned() {
}
в основном для домашней работы я должен сделать класс книги, и эти методы являются частью, которую я понятия не имею, как ее заполнить. Я не могу понять, как создать метод, чтобы пометить книгу как заимствованную и возвращенную, чтобы я мог использовать их для логический метод, который я не опубликовал, потому что я хочу выяснить остальное самостоятельно.
4 ответа
Идея, лежащая в основе всего этого, заключается в том, что метод может изменять внутреннюю структуру объекта,
передать состояние объекта в другое новое состояние.
Пример:
public class Book{
private boolean isRented;
public void borrow(){
isRented = true; // you change your internal structure and in the new state is borrowed
}
public void returned(){
isRented = false; // the same here
}
}
А теперь в основном:
public static void main(String args []){
//create a new book
Book book = new Book();
//rent the book
book.borrow();
//now i want to return
book.returned();
}
Что произойдет, если вы захотите предоставить логический метод, который возвращает, если книга isRented()
? Если вы можете понять себя, тогда вы понимаете суть.
Попробуйте arraylist, добавьте / удалите, поскольку люди проверяют / возвращают книги. Обозначьте каждую книгу номером.
Этот форум не делать домашнее задание. Если вам нужна помощь в выполнении домашних заданий, вам нужно задать конкретный вопрос, а не: я не знаю, как это сделать, дайте мне немного кода. Пожалуйста, прочитайте свою книгу и изучите, она вам только поможет.
Вы должны создать массив книг, которые у вас есть, а затем перебрать массив, используя индекс с типом данных логического флага, чтобы определить, сдана ли книга в аренду. А затем распечатать сообщение на основе значения индекса.
int rentedAtIndex = -1;
for(int i = 0; i < bookObj.length; i++) {
if(bookObj[i].getName().equals(input)) {
rentedAtIndex = i; // Store the index for a future reference
break; // break if the condition is met
}
}
if(rentedAtIndex >= 0)
System.out.println("The Book is Avavailbe for borrwoing !");
else
System.out.println("The Book Is rented, Please try some other time!");
}
public class Book {
private boolean isOut;
...
public setBorrowed(boolean is_out) {
isOut = is_out;
}
public isBorrowed() {
return isOut;
}
}
Тогда вы могли бы сделать
Book bookIt = new Book("It by Stephen King");
bookIt.setBorrowed(true); //Taken out of the library.