Java Question-02

Sureshkumar kajanthan
2 min readApr 9, 2023

--

Java_Question_02
import java.time.LocalDate;

abstract class LibraryItem {
private String title;
private String author;
private int year;

public LibraryItem(String title, String author, int year) {
this.title = title;
this.author = author;
this.year = year;
}

public String getTitle() {
return title;
}

public void setTitle(String title) {
this.title = title;
}

public String getAuthor() {
return author;
}

public void setAuthor(String author) {
this.author = author;
}

public int getYear() {
return year;
}

public void setYear(int year) {
this.year = year;
}

public abstract LocalDate checkOut(String borrower);

}
import java.time.LocalDate;

public class Book extends LibraryItem{

private int numPages;

public Book(String title, String author, int year,int numPages) {
super(title,author,year);
this.numPages=numPages;
}

public int getNumPages() {
return numPages;
}

public void setNumPages(int numPages) {
this.numPages = numPages;
}

public LocalDate checkOut(String borrower)
{
return LocalDate.now().plusDays(14);
}
}
import java.time.LocalDate;

public class DVD extends LibraryItem{

private int runtime;
public DVD(String title, String author, int year,int runtime) {
super(title,author,year);
this.runtime=runtime;
}

public int getRuntime() {
return runtime;
}

public void setRuntime(int runtime) {
this.runtime = runtime;
}

public LocalDate checkOut(String borrower)
{
return LocalDate.now().plusDays(7);
}
}
import java.time.LocalDate;

public class Library {

private LibraryItem[] items;

public Library(LibraryItem[] items)
{
this.items = items;
}

public LocalDate checkOutItem(int index,String borrower)
{
return items[index].checkOut(borrower); //2023-04-13
}
}
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Main {
public static void main(String[] args)
{
LibraryItem[] items={
new Book("The Great Gatsby","F.Scott",1999,180),
new DVD("The God Father","Francis",1972,175)
};

Library library=new Library(items);

LocalDate dueDate=library.checkOutItem(0,"John Doe"); //2023-04-13
System.out.println("Due date for "+items[0].getTitle()+":"+dueDate.format(DateTimeFormatter.ISO_DATE));

LocalDate dueDate1=library.checkOutItem(1,"Jane Smith");
System.out.println("Due date for "+items[1].getTitle()+":"+dueDate.format(DateTimeFormatter.ISO_DATE));

}
}

--

--

No responses yet