From ccd72a79936ed1c6f3f4972998b37a2a55dc4583 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A2?= =?UTF-8?q?=D0=B8=D1=85=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Sun, 28 Aug 2022 15:00:17 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D0=9A=D0=BE=D0=BC=D0=BC=D0=B8=D1=82=20?= =?UTF-8?q?=D0=94=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ru/skypro/Author.java | 19 +++++++++++++++++++ src/ru/skypro/Book.java | 27 +++++++++++++++++++++++++++ src/ru/skypro/Main.java | 22 +++++++++++++++++++++- 3 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 src/ru/skypro/Author.java create mode 100644 src/ru/skypro/Book.java diff --git a/src/ru/skypro/Author.java b/src/ru/skypro/Author.java new file mode 100644 index 0000000..4612ae5 --- /dev/null +++ b/src/ru/skypro/Author.java @@ -0,0 +1,19 @@ +package ru.skypro; +//@AllArgsConstructor +//@Getter +public class Author { + private String firstName; + private String lastName; + + public Author(final String firstName,final String lastName) { + this.firstName=firstName; + this.lastName=lastName; + } + + public String getFirstName(){ + return this.firstName; + } + public String getLastName(){ + return this.lastName; + } +} diff --git a/src/ru/skypro/Book.java b/src/ru/skypro/Book.java new file mode 100644 index 0000000..9a01ec0 --- /dev/null +++ b/src/ru/skypro/Book.java @@ -0,0 +1,27 @@ +package ru.skypro; +//@AllArgsConstructor +//@Getter +public class Book { + private String name; + private Author author; + //@Setter + private int publicationYear; + + public Book(final String name,final Author author,final int publicationYear) { + this.name=name; + this.publicationYear=publicationYear; + this.author=author; + } + public String getName() { + return this.name; + } + public Author getAuthor() { + return this.author; + } + public int getPublicationYear() { + return this.publicationYear; + } + public void setPublicationYear(final int publicationYear) { + this.publicationYear = publicationYear; + } +} diff --git a/src/ru/skypro/Main.java b/src/ru/skypro/Main.java index 625884e..495c09b 100644 --- a/src/ru/skypro/Main.java +++ b/src/ru/skypro/Main.java @@ -1,7 +1,27 @@ package ru.skypro; +import java.util.ArrayList; +import java.util.List; + public class Main { - public static void main(String[] args){ + public static String testString(Book book){ + String[] testBook = { + book.getName(), + book.getAuthor().getFirstName(), + book.getAuthor().getLastName(), + String.valueOf(book.getPublicationYear()) + }; + return String.join(" ", testBook); + } + + public static void main(String[] args){ + var author1 = new Author("Ivan","Ivanov"); + var author2 = new Author("Петя","Петров"); + var book1 = new Book("ivanovskaya",author1,2013); + var book2 = new Book("Петровская книга",author1,1999); + book2.setPublicationYear(2015); + System.out.println(testString(book1)); + System.out.println(testString(book2)); } } From f56857cb85c961aea34714f39eb2189fdc33f952 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A2?= =?UTF-8?q?=D0=B8=D1=85=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Sun, 4 Sep 2022 19:22:37 +0300 Subject: [PATCH 2/3] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20ToString,=20=D0=B4=D1=83=D0=BC=D0=B0=D0=BB=20=D0=B5=D1=89?= =?UTF-8?q?=D0=B5=20=D0=BD=D0=B5=20=D0=B8=D0=B7=D1=83=D1=87=D0=B8=D0=BB?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ru/skypro/Author.java | 3 +++ src/ru/skypro/Book.java | 3 +++ src/ru/skypro/Main.java | 17 ++--------------- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/src/ru/skypro/Author.java b/src/ru/skypro/Author.java index 4612ae5..eb85c83 100644 --- a/src/ru/skypro/Author.java +++ b/src/ru/skypro/Author.java @@ -16,4 +16,7 @@ public String getFirstName(){ public String getLastName(){ return this.lastName; } + public String toString() { + return this.getFirstName() + ' ' + this.getLastName(); + } } diff --git a/src/ru/skypro/Book.java b/src/ru/skypro/Book.java index 9a01ec0..f6292d8 100644 --- a/src/ru/skypro/Book.java +++ b/src/ru/skypro/Book.java @@ -24,4 +24,7 @@ public int getPublicationYear() { public void setPublicationYear(final int publicationYear) { this.publicationYear = publicationYear; } + public String toString() { + return this.getName() + " " + this.getAuthor() + ' ' + this.getPublicationYear(); + } } diff --git a/src/ru/skypro/Main.java b/src/ru/skypro/Main.java index 495c09b..664541c 100644 --- a/src/ru/skypro/Main.java +++ b/src/ru/skypro/Main.java @@ -1,27 +1,14 @@ package ru.skypro; -import java.util.ArrayList; -import java.util.List; - public class Main { - public static String testString(Book book){ - String[] testBook = { - book.getName(), - book.getAuthor().getFirstName(), - book.getAuthor().getLastName(), - String.valueOf(book.getPublicationYear()) - }; - return String.join(" ", testBook); - } - public static void main(String[] args){ var author1 = new Author("Ivan","Ivanov"); var author2 = new Author("Петя","Петров"); var book1 = new Book("ivanovskaya",author1,2013); var book2 = new Book("Петровская книга",author1,1999); book2.setPublicationYear(2015); - System.out.println(testString(book1)); - System.out.println(testString(book2)); + System.out.println(book1); + System.out.println(book2); } } From d8043cac002b9f610aa28db175d97c6c5a09e3d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=92=D1=8F=D1=87=D0=B5=D1=81=D0=BB=D0=B0=D0=B2=20=D0=A2?= =?UTF-8?q?=D0=B8=D1=85=D0=BE=D0=BD=D0=BE=D0=B2?= Date: Sun, 4 Sep 2022 20:28:17 +0300 Subject: [PATCH 3/3] =?UTF-8?q?=D0=9A=D0=BE=D0=BC=D0=BC=D0=B8=D1=82=20?= =?UTF-8?q?=D0=94=D0=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ru/skypro/Author.java | 17 +++++++++++++++++ src/ru/skypro/Book.java | 18 ++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/src/ru/skypro/Author.java b/src/ru/skypro/Author.java index eb85c83..09bb5bc 100644 --- a/src/ru/skypro/Author.java +++ b/src/ru/skypro/Author.java @@ -1,4 +1,7 @@ package ru.skypro; + +import java.util.Objects; + //@AllArgsConstructor //@Getter public class Author { @@ -16,7 +19,21 @@ public String getFirstName(){ public String getLastName(){ return this.lastName; } + @Override public String toString() { return this.getFirstName() + ' ' + this.getLastName(); } +// Alt+Insert generated + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Author author = (Author) o; + return getFirstName().equals(author.getFirstName()) && getLastName().equals(author.getLastName()); + } + + @Override + public int hashCode() { + return Objects.hash(getFirstName(), getLastName()); + } } diff --git a/src/ru/skypro/Book.java b/src/ru/skypro/Book.java index f6292d8..c4f67a5 100644 --- a/src/ru/skypro/Book.java +++ b/src/ru/skypro/Book.java @@ -1,4 +1,7 @@ package ru.skypro; + +import java.util.Objects; + //@AllArgsConstructor //@Getter public class Book { @@ -24,7 +27,22 @@ public int getPublicationYear() { public void setPublicationYear(final int publicationYear) { this.publicationYear = publicationYear; } + @Override public String toString() { return this.getName() + " " + this.getAuthor() + ' ' + this.getPublicationYear(); } + // Alt+Insert generated + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Book book = (Book) o; + return getPublicationYear() == book.getPublicationYear() && getName().equals(book.getName()) && getAuthor().equals(book.getAuthor()); + } + + @Override + public int hashCode() { + return Objects.hash(getName(), getAuthor(), getPublicationYear()); + } + }