This repository acts as a personal archive for my solutions to EdX course *Data Structures and Software Design* from PennX.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

71 lines
1.4 KiB

/*
* SD2x Homework #8
* This class represents a single book.
* Please do not change this code! Your solution will be evaluated using this version of the class.
*/
public class Book implements Comparable<Book> {
@Override
public String toString() {
return "Book [title=" + title + ", author=" + author
+ ", publicationYear=" + publicationYear + "]";
}
protected String title;
protected String author;
protected int publicationYear;
public Book(String title, String author, int year) {
this.title = title;
this.author = author;
this.publicationYear = year;
}
public String getTitle() {
return title;
}
public String getAuthor() {
return author;
}
public int getPublicationYear() {
return publicationYear;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Book other = (Book) obj;
if (author == null) {
if (other.author != null)
return false;
} else if (!author.equals(other.author))
return false;
if (publicationYear != other.publicationYear)
return false;
if (title == null) {
if (other.title != null)
return false;
} else if (!title.equals(other.title))
return false;
return true;
}
@Override
public int compareTo(Book other) {
return this.publicationYear - other.publicationYear;
}
@Override
public int hashCode() {
return this.author.hashCode();
}
}