From c0fe7a856f87b7ad12ebc41a4d0c6c68c4cb05ea Mon Sep 17 00:00:00 2001 From: Ilya Lyalin Date: Thu, 23 May 2024 13:33:01 +0300 Subject: [PATCH 1/2] HW1 Lesson1 --- src/ru/gb/family_tree/Main.java | 28 ++++++++ src/ru/gb/family_tree/humans/Gender.java | 5 ++ src/ru/gb/family_tree/humans/Human.java | 80 ++++++++++++++++++++++ src/ru/gb/family_tree/tree/FamilyTree.java | 38 ++++++++++ src/ru/gb/vending_machine/Main.java | 19 ----- 5 files changed, 151 insertions(+), 19 deletions(-) create mode 100644 src/ru/gb/family_tree/Main.java create mode 100644 src/ru/gb/family_tree/humans/Gender.java create mode 100644 src/ru/gb/family_tree/humans/Human.java create mode 100644 src/ru/gb/family_tree/tree/FamilyTree.java delete mode 100644 src/ru/gb/vending_machine/Main.java diff --git a/src/ru/gb/family_tree/Main.java b/src/ru/gb/family_tree/Main.java new file mode 100644 index 0000000..90b6ef8 --- /dev/null +++ b/src/ru/gb/family_tree/Main.java @@ -0,0 +1,28 @@ +package ru.gb.family_tree; + +import ru.gb.family_tree.humans.Human; +import ru.gb.family_tree.tree.FamilyTree; + +import java.time.LocalDate; + +import static ru.gb.family_tree.humans.Gender.Female; +import static ru.gb.family_tree.humans.Gender.Male; + +public class Main { + public static void main(String[] args) { + FamilyTree familyTree = new FamilyTree(); + + Human hum1 = new Human("Pavel", Male, LocalDate.of(1953,11,3)); + Human hum2 = new Human("Olga", Female, LocalDate.of(1980,9,12)); + Human hum3 = new Human("Gleb", Male, + LocalDate.of(1978,7,23), + LocalDate.of(2020,3,14)); + + familyTree.addHuman(hum1); + familyTree.addHuman(hum2); + familyTree.addHuman(hum3); + + System.out.println(familyTree); + } + +} diff --git a/src/ru/gb/family_tree/humans/Gender.java b/src/ru/gb/family_tree/humans/Gender.java new file mode 100644 index 0000000..c93c1e4 --- /dev/null +++ b/src/ru/gb/family_tree/humans/Gender.java @@ -0,0 +1,5 @@ +package ru.gb.family_tree.humans; + +public enum Gender { + Male, Female +} diff --git a/src/ru/gb/family_tree/humans/Human.java b/src/ru/gb/family_tree/humans/Human.java new file mode 100644 index 0000000..1c2e0fa --- /dev/null +++ b/src/ru/gb/family_tree/humans/Human.java @@ -0,0 +1,80 @@ +package ru.gb.family_tree.humans; + +import java.time.LocalDate; +import java.time.Period; + +public class Human { + private String name; + private Gender gender; + private LocalDate date_of_birth; + private LocalDate date_of_death; + + + public Human(String name, Gender gender, LocalDate date_of_birth, + LocalDate date_of_death) { + this.name = name; + this.gender = gender; + this.date_of_birth = date_of_birth; + this.date_of_death = date_of_death; + } + + public Human(String name, Gender gender, LocalDate date_of_birth) { + this(name, gender, date_of_birth, null); + } + + public int getAge() { + if (date_of_death == null) { + return getPeriod(date_of_birth, LocalDate.now()); + } + else { + return getPeriod(date_of_birth, date_of_death); + } + } + + private int getPeriod(LocalDate date_of_birth, LocalDate date_of_death) { + Period diff = Period.between(date_of_birth, date_of_death); + return diff.getYears(); + } + + public String getName() { + return name; + } + + public LocalDate getDate_of_birth() { + return date_of_birth; + } + + public LocalDate getDate_of_death() { + return date_of_death; + } + + public void setDate_of_birth(LocalDate date_of_birth) { + this.date_of_birth = date_of_birth; + } + + public void setDate_of_death(LocalDate date_of_death) { + this.date_of_death = date_of_death; + } + + public Gender getGender() { + return gender; + } + + + @Override + public String toString() { + return getInfo(); + } + + public String getInfo() { + StringBuilder sb = new StringBuilder(); + sb.append("Имя: "); + sb.append(name); + sb.append(", Пол: "); + sb.append(gender); + sb.append(", Возраст: "); + sb.append(getAge()); + return sb.toString(); + } + +} diff --git a/src/ru/gb/family_tree/tree/FamilyTree.java b/src/ru/gb/family_tree/tree/FamilyTree.java new file mode 100644 index 0000000..6eed3ed --- /dev/null +++ b/src/ru/gb/family_tree/tree/FamilyTree.java @@ -0,0 +1,38 @@ +package ru.gb.family_tree.tree; + +import ru.gb.family_tree.humans.Human; + +import java.util.ArrayList; +import java.util.List; + +public class FamilyTree { + private List humanList; + + public FamilyTree() { + humanList = new ArrayList<>(); + } + + public void addHuman(Human human) { + humanList.add(human); + } + + public Human findByName(String nameHuman) { + for (Human human: humanList) { + if (human.getName().equalsIgnoreCase(nameHuman)) { + return human; + } + } + return null; + } + + @Override + public String toString() { + StringBuilder stringBuilder = new StringBuilder(); + stringBuilder.append("Family tree:\n"); + for (Human human : humanList) { + stringBuilder.append(human); + stringBuilder.append("\n"); + } + return stringBuilder.toString(); + } +} diff --git a/src/ru/gb/vending_machine/Main.java b/src/ru/gb/vending_machine/Main.java deleted file mode 100644 index abfd7ac..0000000 --- a/src/ru/gb/vending_machine/Main.java +++ /dev/null @@ -1,19 +0,0 @@ -package ru.gb.vending_machine; - -import ru.gb.vending_machine.products.Bottle; -import ru.gb.vending_machine.products.Product; -import ru.gb.vending_machine.vending.VendingMachine; - -public class Main { - public static void main(String[] args) { - VendingMachine vendingMachine = new VendingMachine(123); - - Product product1 = new Bottle("coca-cola", 150, 1.5); - Product product2 = new Product("milko", 100); - - vendingMachine.addProduct(product1); - vendingMachine.addProduct(product2); - - System.out.println(vendingMachine.getProductsInfo()); - } -} From 4408180522da42c01b8242c27e12f350bb5e8862 Mon Sep 17 00:00:00 2001 From: Ilya Lyalin Date: Thu, 23 May 2024 13:43:15 +0300 Subject: [PATCH 2/2] HW1 Lesson1 (2) --- src/ru/gb/family_tree/Main.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ru/gb/family_tree/Main.java b/src/ru/gb/family_tree/Main.java index 90b6ef8..5790b22 100644 --- a/src/ru/gb/family_tree/Main.java +++ b/src/ru/gb/family_tree/Main.java @@ -1,3 +1,4 @@ +//Lyalin package ru.gb.family_tree; import ru.gb.family_tree.humans.Human; @@ -25,4 +26,4 @@ public static void main(String[] args) { System.out.println(familyTree); } -} +} \ No newline at end of file