From cfddfc1943cb443fc1363ed75a39ddd644a3877a Mon Sep 17 00:00:00 2001 From: Elena Radchenko Date: Sun, 25 Jun 2023 17:19:44 +0300 Subject: [PATCH 1/6] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB=D0=B0?= =?UTF-8?q?=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D1=8B=20=D1=81=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=81=D0=BB=D0=B5=D0=B4=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5?= =?UTF-8?q?=D0=BC=20=D0=BF=D0=BE=20=D0=B4=D0=B8=D0=B0=D0=B3=D1=80=D0=B0?= =?UTF-8?q?=D0=BC=D0=BC=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WorkWithJava/ClassesAnimals/Animal.java | 13 +++++++++++++ WorkWithJava/ClassesAnimals/Camels.java | 9 +++++++++ WorkWithJava/ClassesAnimals/Cats.java | 4 ++++ WorkWithJava/ClassesAnimals/Dogs.java | 4 ++++ WorkWithJava/ClassesAnimals/Donkeys.java | 4 ++++ WorkWithJava/ClassesAnimals/Hamsters.java | 4 ++++ WorkWithJava/ClassesAnimals/Horses.java | 4 ++++ WorkWithJava/ClassesAnimals/PackAnimals.java | 6 ++++++ WorkWithJava/ClassesAnimals/Pets.java | 6 ++++++ 9 files changed, 54 insertions(+) create mode 100644 WorkWithJava/ClassesAnimals/Animal.java create mode 100644 WorkWithJava/ClassesAnimals/Camels.java create mode 100644 WorkWithJava/ClassesAnimals/Cats.java create mode 100644 WorkWithJava/ClassesAnimals/Dogs.java create mode 100644 WorkWithJava/ClassesAnimals/Donkeys.java create mode 100644 WorkWithJava/ClassesAnimals/Hamsters.java create mode 100644 WorkWithJava/ClassesAnimals/Horses.java create mode 100644 WorkWithJava/ClassesAnimals/PackAnimals.java create mode 100644 WorkWithJava/ClassesAnimals/Pets.java diff --git a/WorkWithJava/ClassesAnimals/Animal.java b/WorkWithJava/ClassesAnimals/Animal.java new file mode 100644 index 0000000..a59a2f2 --- /dev/null +++ b/WorkWithJava/ClassesAnimals/Animal.java @@ -0,0 +1,13 @@ +package WorkWithJava.ClassesAnimals; + +import java.util.Scanner; + +public class Animal { + + private String name; + + public void setName(String name) { + this.name = name; + } + +} diff --git a/WorkWithJava/ClassesAnimals/Camels.java b/WorkWithJava/ClassesAnimals/Camels.java new file mode 100644 index 0000000..cc119b0 --- /dev/null +++ b/WorkWithJava/ClassesAnimals/Camels.java @@ -0,0 +1,9 @@ +package WorkWithJava.ClassesAnimals; + +public class Camels extends PackAnimals { + + public Camels() { + super(); + } + +} diff --git a/WorkWithJava/ClassesAnimals/Cats.java b/WorkWithJava/ClassesAnimals/Cats.java new file mode 100644 index 0000000..e06b2c2 --- /dev/null +++ b/WorkWithJava/ClassesAnimals/Cats.java @@ -0,0 +1,4 @@ +package WorkWithJava.ClassesAnimals; + +public class Cats extends Pets { +} diff --git a/WorkWithJava/ClassesAnimals/Dogs.java b/WorkWithJava/ClassesAnimals/Dogs.java new file mode 100644 index 0000000..8ed7524 --- /dev/null +++ b/WorkWithJava/ClassesAnimals/Dogs.java @@ -0,0 +1,4 @@ +package WorkWithJava.ClassesAnimals; + +public class Dogs extends Pets { +} diff --git a/WorkWithJava/ClassesAnimals/Donkeys.java b/WorkWithJava/ClassesAnimals/Donkeys.java new file mode 100644 index 0000000..058f0b8 --- /dev/null +++ b/WorkWithJava/ClassesAnimals/Donkeys.java @@ -0,0 +1,4 @@ +package WorkWithJava.ClassesAnimals; + +public class Donkeys extends PackAnimals { +} diff --git a/WorkWithJava/ClassesAnimals/Hamsters.java b/WorkWithJava/ClassesAnimals/Hamsters.java new file mode 100644 index 0000000..4183eb2 --- /dev/null +++ b/WorkWithJava/ClassesAnimals/Hamsters.java @@ -0,0 +1,4 @@ +package WorkWithJava.ClassesAnimals; + +public class Hamsters extends Pets { +} diff --git a/WorkWithJava/ClassesAnimals/Horses.java b/WorkWithJava/ClassesAnimals/Horses.java new file mode 100644 index 0000000..24572ed --- /dev/null +++ b/WorkWithJava/ClassesAnimals/Horses.java @@ -0,0 +1,4 @@ +package WorkWithJava.ClassesAnimals; + +public class Horses extends PackAnimals { +} diff --git a/WorkWithJava/ClassesAnimals/PackAnimals.java b/WorkWithJava/ClassesAnimals/PackAnimals.java new file mode 100644 index 0000000..19a777a --- /dev/null +++ b/WorkWithJava/ClassesAnimals/PackAnimals.java @@ -0,0 +1,6 @@ +package WorkWithJava.ClassesAnimals; + +import WorkWithJava.ClassesAnimals.Animal; + +public class PackAnimals extends Animal { +} diff --git a/WorkWithJava/ClassesAnimals/Pets.java b/WorkWithJava/ClassesAnimals/Pets.java new file mode 100644 index 0000000..63286a4 --- /dev/null +++ b/WorkWithJava/ClassesAnimals/Pets.java @@ -0,0 +1,6 @@ +package WorkWithJava.ClassesAnimals; + +import WorkWithJava.ClassesAnimals.Animal; + +public class Pets extends Animal { +} From 70dbb8df40c64e9ae4f807bf507286d702e3ffe3 Mon Sep 17 00:00:00 2001 From: Elena Radchenko Date: Sun, 25 Jun 2023 17:32:19 +0300 Subject: [PATCH 2/6] =?UTF-8?q?=D0=A2=D0=B5=D0=BF=D0=B5=D1=80=D1=8C=20?= =?UTF-8?q?=D0=B2=20=D0=BF=D1=80=D0=BE=D0=B3=D1=80=D0=B0=D0=BC=D0=BC=D0=B5?= =?UTF-8?q?=20=D0=BC=D0=BE=D0=B6=D0=BD=D0=BE=20=D0=B7=D0=B0=D0=B2=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=B8=20=D0=BD=D0=BE=D0=B2=D0=BE=D0=B5=20=D0=B6?= =?UTF-8?q?=D0=B8=D0=B2=D0=BE=D1=82=D0=BD=D0=BE=D0=B5=20=D0=B8=20=D0=BE?= =?UTF-8?q?=D0=BF=D1=80=D0=B5=D0=B4=D0=B5=D0=BB=D0=B8=D1=82=D1=8C=20=D0=B5?= =?UTF-8?q?=D0=B3=D0=BE=20=D0=B2=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D1=8B=D0=B9=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WorkWithJava/Registry.java | 61 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 WorkWithJava/Registry.java diff --git a/WorkWithJava/Registry.java b/WorkWithJava/Registry.java new file mode 100644 index 0000000..cfc5b67 --- /dev/null +++ b/WorkWithJava/Registry.java @@ -0,0 +1,61 @@ +package WorkWithJava; + +import WorkWithJava.ClassesAnimals.*; + + +import java.util.Scanner; + +abstract public class Registry { + + Scanner sc = new Scanner(System.in); + + public void addNewAnimal() { + System.out.println("Какое животное вы хотите завести в базу?"); + System.out.println("1-Домашнее, 2-Вьючнное, введите в консоль цифру: "); + int flag = sc.nextInt(); + if (flag == 1) { + System.out.println("1-Кошка, 2-Собака, 3-Хомяк"); + flag = sc.nextInt(); + if (flag == 1) { + Cats cats = new Cats(); + System.out.println("Введите имя животного: "); + String name = sc.nextLine(); + cats.setName(name); + } + if (flag == 2) { + Dogs dogs = new Dogs(); + System.out.println("Введите имя животного: "); + String name = sc.nextLine(); + dogs.setName(name); + } + if (flag == 3) { + Hamsters hamsters = new Hamsters(); + System.out.println("Введите имя животного: "); + String name = sc.nextLine(); + hamsters.setName(name); + } + } + if (flag == 2) { + System.out.println("1-Лошадь, 2-Осел, 3-Верблюд"); + flag = sc.nextInt(); + if (flag == 1) { + Horses horses = new Horses(); + System.out.println("Введите имя животного: "); + String name = sc.nextLine(); + horses.setName(name); + } + if (flag == 2) { + Donkeys donkeys = new Donkeys(); + System.out.println("Введите имя животного: "); + String name = sc.nextLine(); + donkeys.setName(name); + } + if (flag == 3) { + Camels camels = new Camels(); + System.out.println("Введите имя животного: "); + String name = sc.nextLine(); + camels.setName(name); + } + } + } +} \ No newline at end of file From 5d5c19bc9a38755c58f0d3964301b75214ead60f Mon Sep 17 00:00:00 2001 From: Elena Radchenko Date: Sun, 25 Jun 2023 20:31:35 +0300 Subject: [PATCH 3/6] =?UTF-8?q?=D0=92=20=D0=BF=D1=80=D0=BE=D0=B3=D1=80?= =?UTF-8?q?=D0=B0=D0=BC=D0=BC=D0=B5=20=D0=B4=D0=BE=D0=BB=D0=B6=D0=B5=D0=BD?= =?UTF-8?q?=20=D1=80=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=20=D1=81=D0=BB=D0=B5=D0=B4=D1=83=D1=8E=D1=89=D0=B8=D0=B9=20?= =?UTF-8?q?=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=BE=D0=BD=D0=B0=D0=BB:?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=B2=D0=B5=D1=81=D1=82=D0=B8=20=D0=BD=D0=BE?= =?UTF-8?q?=D0=B2=D0=BE=D0=B5=20=D0=B6=D0=B8=D0=B2=D0=BE=D1=82=D0=BD=D0=BE?= =?UTF-8?q?=D0=B5,=20=D0=BE=D0=BF=D1=80=D0=B5=D0=B4=D0=B5=D0=BB=D1=8F?= =?UTF-8?q?=D1=82=D1=8C=20=D0=B6=D0=B8=D0=B2=D0=BE=D1=82=D0=BD=D0=BE=D0=B5?= =?UTF-8?q?=20=D0=B2=20=D0=BF=D1=80=D0=B0=D0=B2=D0=B8=D0=BB=D1=8C=D0=BD?= =?UTF-8?q?=D1=8B=D0=B9=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81,=20=D0=BD=D0=B0?= =?UTF-8?q?=D1=87=D0=B0=D0=BB=D0=B0=D1=81=D1=8C=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B0=20=D0=BF=D0=BE=20=D1=80=D0=B0=D0=B7=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=BA=D0=B5=20=D0=BC=D0=B5=D0=BD=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WorkWithJava/ClassesAnimals/Animal.java | 17 +++++- WorkWithJava/ClassesAnimals/Camels.java | 8 ++- WorkWithJava/ClassesAnimals/Cats.java | 10 ++++ WorkWithJava/ClassesAnimals/Dogs.java | 8 +++ WorkWithJava/ClassesAnimals/Donkeys.java | 8 +++ WorkWithJava/ClassesAnimals/Hamsters.java | 8 +++ WorkWithJava/ClassesAnimals/Horses.java | 9 +++ WorkWithJava/ClassesAnimals/PackAnimals.java | 3 + WorkWithJava/ClassesAnimals/Pets.java | 3 + WorkWithJava/ICommands.java | 6 ++ WorkWithJava/Programm.java | 11 ++++ WorkWithJava/Registry.java | 58 ++++++++++++-------- WorkWithJava/WriteInfo.java | 29 ++++++++++ 13 files changed, 150 insertions(+), 28 deletions(-) create mode 100644 WorkWithJava/ICommands.java create mode 100644 WorkWithJava/Programm.java create mode 100644 WorkWithJava/WriteInfo.java diff --git a/WorkWithJava/ClassesAnimals/Animal.java b/WorkWithJava/ClassesAnimals/Animal.java index a59a2f2..c92d9ee 100644 --- a/WorkWithJava/ClassesAnimals/Animal.java +++ b/WorkWithJava/ClassesAnimals/Animal.java @@ -1,13 +1,24 @@ package WorkWithJava.ClassesAnimals; +import WorkWithJava.ICommands; + import java.util.Scanner; -public class Animal { - private String name; +public class Animal implements ICommands { + private final String name; - public void setName(String name) { + public Animal(String name) { this.name = name; } + @Override + public String animalCommand(String command) { + return command; + } + + @Override + public String toString() { + return String.format("Это %s. ", name); + } } diff --git a/WorkWithJava/ClassesAnimals/Camels.java b/WorkWithJava/ClassesAnimals/Camels.java index cc119b0..c722866 100644 --- a/WorkWithJava/ClassesAnimals/Camels.java +++ b/WorkWithJava/ClassesAnimals/Camels.java @@ -2,8 +2,12 @@ public class Camels extends PackAnimals { - public Camels() { - super(); + public Camels(String name) { + super(name); } + @Override + public String animalCommand(String command) { + return super.animalCommand(command); + } } diff --git a/WorkWithJava/ClassesAnimals/Cats.java b/WorkWithJava/ClassesAnimals/Cats.java index e06b2c2..21c273e 100644 --- a/WorkWithJava/ClassesAnimals/Cats.java +++ b/WorkWithJava/ClassesAnimals/Cats.java @@ -1,4 +1,14 @@ package WorkWithJava.ClassesAnimals; public class Cats extends Pets { + + + public Cats(String name) { + super(name); + } + + @Override + public String animalCommand(String command) { + return super.animalCommand(command); + } } diff --git a/WorkWithJava/ClassesAnimals/Dogs.java b/WorkWithJava/ClassesAnimals/Dogs.java index 8ed7524..202f908 100644 --- a/WorkWithJava/ClassesAnimals/Dogs.java +++ b/WorkWithJava/ClassesAnimals/Dogs.java @@ -1,4 +1,12 @@ package WorkWithJava.ClassesAnimals; public class Dogs extends Pets { + public Dogs(String name) { + super(name); + } + + @Override + public String animalCommand(String command) { + return super.animalCommand(command); + } } diff --git a/WorkWithJava/ClassesAnimals/Donkeys.java b/WorkWithJava/ClassesAnimals/Donkeys.java index 058f0b8..bfdfebd 100644 --- a/WorkWithJava/ClassesAnimals/Donkeys.java +++ b/WorkWithJava/ClassesAnimals/Donkeys.java @@ -1,4 +1,12 @@ package WorkWithJava.ClassesAnimals; public class Donkeys extends PackAnimals { + public Donkeys(String name) { + super(name); + } + + @Override + public String animalCommand(String command) { + return super.animalCommand(command); + } } diff --git a/WorkWithJava/ClassesAnimals/Hamsters.java b/WorkWithJava/ClassesAnimals/Hamsters.java index 4183eb2..81033a0 100644 --- a/WorkWithJava/ClassesAnimals/Hamsters.java +++ b/WorkWithJava/ClassesAnimals/Hamsters.java @@ -1,4 +1,12 @@ package WorkWithJava.ClassesAnimals; public class Hamsters extends Pets { + public Hamsters(String name) { + super(name); + } + + @Override + public String animalCommand(String command) { + return super.animalCommand(command); + } } diff --git a/WorkWithJava/ClassesAnimals/Horses.java b/WorkWithJava/ClassesAnimals/Horses.java index 24572ed..f8293ce 100644 --- a/WorkWithJava/ClassesAnimals/Horses.java +++ b/WorkWithJava/ClassesAnimals/Horses.java @@ -1,4 +1,13 @@ package WorkWithJava.ClassesAnimals; public class Horses extends PackAnimals { + + public Horses(String name) { + super(name); + } + + @Override + public String animalCommand(String command) { + return super.animalCommand(command); + } } diff --git a/WorkWithJava/ClassesAnimals/PackAnimals.java b/WorkWithJava/ClassesAnimals/PackAnimals.java index 19a777a..e0e75b9 100644 --- a/WorkWithJava/ClassesAnimals/PackAnimals.java +++ b/WorkWithJava/ClassesAnimals/PackAnimals.java @@ -3,4 +3,7 @@ import WorkWithJava.ClassesAnimals.Animal; public class PackAnimals extends Animal { + public PackAnimals(String name) { + super(name); + } } diff --git a/WorkWithJava/ClassesAnimals/Pets.java b/WorkWithJava/ClassesAnimals/Pets.java index 63286a4..5d60eed 100644 --- a/WorkWithJava/ClassesAnimals/Pets.java +++ b/WorkWithJava/ClassesAnimals/Pets.java @@ -3,4 +3,7 @@ import WorkWithJava.ClassesAnimals.Animal; public class Pets extends Animal { + public Pets(String name) { + super(name); + } } diff --git a/WorkWithJava/ICommands.java b/WorkWithJava/ICommands.java new file mode 100644 index 0000000..f2dfa6b --- /dev/null +++ b/WorkWithJava/ICommands.java @@ -0,0 +1,6 @@ +package WorkWithJava; + +public interface ICommands { + public String animalCommand(String command); + +} diff --git a/WorkWithJava/Programm.java b/WorkWithJava/Programm.java new file mode 100644 index 0000000..c6f386b --- /dev/null +++ b/WorkWithJava/Programm.java @@ -0,0 +1,11 @@ +package WorkWithJava; + +public class Programm { + + public static void main(String[] args) { + Registry registry = new Registry(); + + registry.addNewAnimal(); + + } +} diff --git a/WorkWithJava/Registry.java b/WorkWithJava/Registry.java index cfc5b67..ce42b2d 100644 --- a/WorkWithJava/Registry.java +++ b/WorkWithJava/Registry.java @@ -2,11 +2,9 @@ import WorkWithJava.ClassesAnimals.*; - import java.util.Scanner; -abstract public class Registry { - +public class Registry { Scanner sc = new Scanner(System.in); public void addNewAnimal() { @@ -17,44 +15,58 @@ public void addNewAnimal() { System.out.println("1-Кошка, 2-Собака, 3-Хомяк"); flag = sc.nextInt(); if (flag == 1) { - Cats cats = new Cats(); System.out.println("Введите имя животного: "); - String name = sc.nextLine(); - cats.setName(name); + Cats cats = new Cats(sc.next()); + sc.nextLine(); + System.out.println("Что умеет животное? Введите команду: "); + String command = cats.animalCommand(sc.nextLine()); + WriteInfo.writeInfo(cats, command); } if (flag == 2) { - Dogs dogs = new Dogs(); System.out.println("Введите имя животного: "); - String name = sc.nextLine(); - dogs.setName(name); + Dogs dogs = new Dogs(sc.next()); + sc.nextLine(); + System.out.println("Что умеет животное? Введите команду: "); + String command = dogs.animalCommand(sc.nextLine()); + WriteInfo.writeInfo(dogs, command); + } if (flag == 3) { - Hamsters hamsters = new Hamsters(); System.out.println("Введите имя животного: "); - String name = sc.nextLine(); - hamsters.setName(name); + Hamsters hamsters = new Hamsters(sc.next()); + sc.nextLine(); + System.out.println("Что умеет животное? Введите команду: "); + String command = hamsters.animalCommand(sc.nextLine()); + WriteInfo.writeInfo(hamsters, command); } - } - if (flag == 2) { + } else if (flag == 2) { System.out.println("1-Лошадь, 2-Осел, 3-Верблюд"); flag = sc.nextInt(); if (flag == 1) { - Horses horses = new Horses(); System.out.println("Введите имя животного: "); - String name = sc.nextLine(); - horses.setName(name); + Horses horses = new Horses(sc.next()); + sc.nextLine(); + System.out.println("Что умеет животное? Введите команду: "); + String command = horses.animalCommand(sc.nextLine()); + WriteInfo.writeInfo(horses, command); } if (flag == 2) { - Donkeys donkeys = new Donkeys(); System.out.println("Введите имя животного: "); - String name = sc.nextLine(); - donkeys.setName(name); + Donkeys donkeys = new Donkeys(sc.next()); + sc.nextLine(); + System.out.println("Что умеет животное? Введите команду: "); + String command = donkeys.animalCommand(sc.nextLine()); + WriteInfo.writeInfo(donkeys, command); + } if (flag == 3) { - Camels camels = new Camels(); System.out.println("Введите имя животного: "); - String name = sc.nextLine(); - camels.setName(name); + Camels camels = new Camels(sc.next()); + sc.nextLine(); + System.out.println("Что умеет животное? Введите команду: "); + String command = camels.animalCommand(sc.nextLine()); + WriteInfo.writeInfo(camels, command); + } } } diff --git a/WorkWithJava/WriteInfo.java b/WorkWithJava/WriteInfo.java new file mode 100644 index 0000000..16854ba --- /dev/null +++ b/WorkWithJava/WriteInfo.java @@ -0,0 +1,29 @@ +package WorkWithJava; + +import WorkWithJava.ClassesAnimals.Animal; + +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +public class WriteInfo { + + public static void writeInfo(Animal animal, String command) { + + try (FileWriter writer = new FileWriter("Animals.txt", true)) { + Map animalMap = new HashMap<>(); + animalMap.put(animal, command); + for (Map.Entry entry : animalMap.entrySet()) { + writer.write(entry.getKey() + "Он умеет: " + entry.getValue() + "\n"); + } + + + + } catch (IOException ex) { + System.out.println(ex.getMessage()); + } + } + +} From ce1055916d7a066d609bfc59c2321a618d9d7200 Mon Sep 17 00:00:00 2001 From: Elena Radchenko Date: Sun, 25 Jun 2023 23:48:52 +0300 Subject: [PATCH 4/6] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D1=8F=20:?= =?UTF-8?q?=20=D1=83=D0=B2=D0=B8=D0=B4=D0=B5=D1=82=D1=8C=20=D1=81=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D0=BE=D0=BA=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4?= =?UTF-8?q?,=20=D0=BA=D0=BE=D1=82=D0=BE=D1=80=D0=BE=D0=B5=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D0=BD=D1=8F=D0=B5=D1=82=20=D0=B6=D0=B8=D0=B2?= =?UTF-8?q?=D0=BE=D1=82=D0=BD=D0=BE=D0=B5.=20=D0=9F=D0=BE=D1=87=D1=82?= =?UTF-8?q?=D0=B8=20=D0=B7=D0=B0=D0=BA=D0=BE=D0=BD=D1=87=D0=B5=D0=BD=D0=B0?= =?UTF-8?q?=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=D1=81=20=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=8E.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Animals.txt | 4 ++++ WorkWithJava/ICommands.java | 1 + WorkWithJava/MVP/Controller.java | 13 +++++++++++++ WorkWithJava/MVP/Model.java | 27 +++++++++++++++++++++++++++ WorkWithJava/MVP/View.java | 20 ++++++++++++++++++++ WorkWithJava/Program.java | 15 +++++++++++++++ WorkWithJava/Programm.java | 11 ----------- WorkWithJava/ReadInfo.java | 31 +++++++++++++++++++++++++++++++ WorkWithJava/Registry.java | 12 ++++++------ WorkWithJava/WriteInfo.java | 7 ++----- 10 files changed, 119 insertions(+), 22 deletions(-) create mode 100644 Animals.txt create mode 100644 WorkWithJava/MVP/Controller.java create mode 100644 WorkWithJava/MVP/Model.java create mode 100644 WorkWithJava/MVP/View.java create mode 100644 WorkWithJava/Program.java delete mode 100644 WorkWithJava/Programm.java create mode 100644 WorkWithJava/ReadInfo.java diff --git a/Animals.txt b/Animals.txt new file mode 100644 index 0000000..d9a5fd6 --- /dev/null +++ b/Animals.txt @@ -0,0 +1,4 @@ +Это пупсик. Он умеет: бегать +Это Рома. Он умеет: прыгать +Это Бобик. Он умеет: лаять +Это Бипсик. Он умеет: петь diff --git a/WorkWithJava/ICommands.java b/WorkWithJava/ICommands.java index f2dfa6b..680d195 100644 --- a/WorkWithJava/ICommands.java +++ b/WorkWithJava/ICommands.java @@ -3,4 +3,5 @@ public interface ICommands { public String animalCommand(String command); + } diff --git a/WorkWithJava/MVP/Controller.java b/WorkWithJava/MVP/Controller.java new file mode 100644 index 0000000..e349a82 --- /dev/null +++ b/WorkWithJava/MVP/Controller.java @@ -0,0 +1,13 @@ +package WorkWithJava.MVP; + +import java.io.IOException; + +public class Controller { + + Model model = new Model(); + + public void goProgram() throws IOException { + model.workWithRegistry(); + } + +} diff --git a/WorkWithJava/MVP/Model.java b/WorkWithJava/MVP/Model.java new file mode 100644 index 0000000..fd540ad --- /dev/null +++ b/WorkWithJava/MVP/Model.java @@ -0,0 +1,27 @@ +package WorkWithJava.MVP; + +import WorkWithJava.ReadInfo; +import WorkWithJava.Registry; + +import java.io.IOException; +import java.util.Scanner; + +public class Model { + + View view = new View(); + Registry registry = new Registry(); + + public void workWithRegistry() throws IOException { + + int choice = view.menu(); + switch (choice) { + case 1 -> registry.addNewAnimal(); + case 2 -> ReadInfo.readInfo(); + +// case 3 -> ; + case 4 -> System.out.println("До свидания!"); +// + } + } +} + diff --git a/WorkWithJava/MVP/View.java b/WorkWithJava/MVP/View.java new file mode 100644 index 0000000..00e5c61 --- /dev/null +++ b/WorkWithJava/MVP/View.java @@ -0,0 +1,20 @@ +package WorkWithJava.MVP; + +import java.util.Scanner; + +public class View { + + public int menu() { + Scanner sc = new Scanner(System.in); + + System.out.println("Выберите цифру меню: "); + System.out.println("\t1. Завести новое животное\n"); + System.out.println("\t2. Увидеть список команд, которое выполняет животное\n"); + System.out.println("\t3. Обучить животное новым командам\n"); + System.out.println("\t4. Выход\n"); + return sc.nextInt(); + } + +} + + diff --git a/WorkWithJava/Program.java b/WorkWithJava/Program.java new file mode 100644 index 0000000..83b69ca --- /dev/null +++ b/WorkWithJava/Program.java @@ -0,0 +1,15 @@ +package WorkWithJava; + +import WorkWithJava.MVP.Controller; + +import java.io.IOException; + +public class Program { + + public static void main(String[] args) throws IOException { + + Controller controller = new Controller(); + controller.goProgram(); + + } +} diff --git a/WorkWithJava/Programm.java b/WorkWithJava/Programm.java deleted file mode 100644 index c6f386b..0000000 --- a/WorkWithJava/Programm.java +++ /dev/null @@ -1,11 +0,0 @@ -package WorkWithJava; - -public class Programm { - - public static void main(String[] args) { - Registry registry = new Registry(); - - registry.addNewAnimal(); - - } -} diff --git a/WorkWithJava/ReadInfo.java b/WorkWithJava/ReadInfo.java new file mode 100644 index 0000000..2362d3b --- /dev/null +++ b/WorkWithJava/ReadInfo.java @@ -0,0 +1,31 @@ +package WorkWithJava; + +import java.io.*; +import java.util.Scanner; + +public class ReadInfo { + + public static void readInfo() throws IOException { + + File file = new File("Animals.txt"); + Scanner sc = new Scanner(System.in); + + System.out.println("Введите имя животного, чтобы посмотреть, что он умеет : "); + String name = sc.next(); + sc.nextLine(); + + try (BufferedReader bufferedReader = new BufferedReader(new FileReader(file))) { + String line; + while ((line = bufferedReader.readLine()) != null) { + if (line.contains(name)) { + int index = line.indexOf(name) + (name.length() + 2); + String needStr = line.substring(index); + System.out.println(needStr); + } + } + + } catch (IOException e) { + e.printStackTrace(); + } + } +} diff --git a/WorkWithJava/Registry.java b/WorkWithJava/Registry.java index ce42b2d..3362402 100644 --- a/WorkWithJava/Registry.java +++ b/WorkWithJava/Registry.java @@ -20,7 +20,7 @@ public void addNewAnimal() { sc.nextLine(); System.out.println("Что умеет животное? Введите команду: "); String command = cats.animalCommand(sc.nextLine()); - WriteInfo.writeInfo(cats, command); + WriteInfo.writeBasicInfo(cats, command); } if (flag == 2) { System.out.println("Введите имя животного: "); @@ -28,7 +28,7 @@ public void addNewAnimal() { sc.nextLine(); System.out.println("Что умеет животное? Введите команду: "); String command = dogs.animalCommand(sc.nextLine()); - WriteInfo.writeInfo(dogs, command); + WriteInfo.writeBasicInfo(dogs, command); } if (flag == 3) { @@ -37,7 +37,7 @@ public void addNewAnimal() { sc.nextLine(); System.out.println("Что умеет животное? Введите команду: "); String command = hamsters.animalCommand(sc.nextLine()); - WriteInfo.writeInfo(hamsters, command); + WriteInfo.writeBasicInfo(hamsters, command); } } else if (flag == 2) { System.out.println("1-Лошадь, 2-Осел, 3-Верблюд"); @@ -48,7 +48,7 @@ public void addNewAnimal() { sc.nextLine(); System.out.println("Что умеет животное? Введите команду: "); String command = horses.animalCommand(sc.nextLine()); - WriteInfo.writeInfo(horses, command); + WriteInfo.writeBasicInfo(horses, command); } if (flag == 2) { System.out.println("Введите имя животного: "); @@ -56,7 +56,7 @@ public void addNewAnimal() { sc.nextLine(); System.out.println("Что умеет животное? Введите команду: "); String command = donkeys.animalCommand(sc.nextLine()); - WriteInfo.writeInfo(donkeys, command); + WriteInfo.writeBasicInfo(donkeys, command); } if (flag == 3) { @@ -65,7 +65,7 @@ public void addNewAnimal() { sc.nextLine(); System.out.println("Что умеет животное? Введите команду: "); String command = camels.animalCommand(sc.nextLine()); - WriteInfo.writeInfo(camels, command); + WriteInfo.writeBasicInfo(camels, command); } } diff --git a/WorkWithJava/WriteInfo.java b/WorkWithJava/WriteInfo.java index 16854ba..ea0be06 100644 --- a/WorkWithJava/WriteInfo.java +++ b/WorkWithJava/WriteInfo.java @@ -2,15 +2,14 @@ import WorkWithJava.ClassesAnimals.Animal; -import java.io.FileWriter; -import java.io.IOException; +import java.io.*; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; public class WriteInfo { - public static void writeInfo(Animal animal, String command) { + public static void writeBasicInfo(Animal animal, String command) { try (FileWriter writer = new FileWriter("Animals.txt", true)) { Map animalMap = new HashMap<>(); @@ -19,8 +18,6 @@ public static void writeInfo(Animal animal, String command) { writer.write(entry.getKey() + "Он умеет: " + entry.getValue() + "\n"); } - - } catch (IOException ex) { System.out.println(ex.getMessage()); } From 2ba9d6d414a5c9ff7b71123f6c1d0186a5b3eb10 Mon Sep 17 00:00:00 2001 From: Elena Radchenko Date: Mon, 3 Jul 2023 14:57:38 +0300 Subject: [PATCH 5/6] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=84=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BE=D0=B1=D1=83=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B6=D0=B8?= =?UTF-8?q?=D0=B2=D0=BE=D1=82=D0=BD=D1=8B=D1=85=20=D0=BD=D0=BE=D0=B2=D1=8B?= =?UTF-8?q?=D0=BC=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=B0=D0=BC,=20?= =?UTF-8?q?=D1=82=D0=B0=D0=BA=D0=B6=D0=B5=20=D1=82=D0=B5=D0=BF=D0=B5=D1=80?= =?UTF-8?q?=D1=8C=20=D0=B2=D0=B8=D0=B4=D0=BD=D0=BE,=20=D0=BA=20=D0=BA?= =?UTF-8?q?=D0=B0=D0=BA=D0=BE=D0=BC=D1=83=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81?= =?UTF-8?q?=D1=83=20=D0=BF=D1=80=D0=B8=D0=BD=D0=B0=D0=B4=D0=BB=D0=B5=D0=B6?= =?UTF-8?q?=D0=B8=D1=82=20=D0=BA=D0=B0=D0=B6=D0=B4=D0=BE=D0=B5=20=D0=B6?= =?UTF-8?q?=D0=B8=D0=B2=D0=BE=D1=82=D0=BD=D0=BE=D0=B5.=20=D0=93=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=D0=BE=20=D1=80=D0=B0=D0=B1=D0=BE=D1=87=D0=B5?= =?UTF-8?q?=D0=B5=20=D0=BC=D0=B5=D0=BD=D1=8E.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Animals.txt | 4 -- WorkWithJava/ICommands.java | 1 - WorkWithJava/MVP/Model.java | 11 +++-- WorkWithJava/Registry.java | 26 ++++++----- .../WorkWithFiles/ExtraFunctional.java | 45 +++++++++++++++++++ .../{ => WorkWithFiles}/ReadInfo.java | 9 ++-- .../{ => WorkWithFiles}/WriteInfo.java | 7 +-- 7 files changed, 74 insertions(+), 29 deletions(-) delete mode 100644 Animals.txt create mode 100644 WorkWithJava/WorkWithFiles/ExtraFunctional.java rename WorkWithJava/{ => WorkWithFiles}/ReadInfo.java (83%) rename WorkWithJava/{ => WorkWithFiles}/WriteInfo.java (66%) diff --git a/Animals.txt b/Animals.txt deleted file mode 100644 index d9a5fd6..0000000 --- a/Animals.txt +++ /dev/null @@ -1,4 +0,0 @@ -Это пупсик. Он умеет: бегать -Это Рома. Он умеет: прыгать -Это Бобик. Он умеет: лаять -Это Бипсик. Он умеет: петь diff --git a/WorkWithJava/ICommands.java b/WorkWithJava/ICommands.java index 680d195..f2dfa6b 100644 --- a/WorkWithJava/ICommands.java +++ b/WorkWithJava/ICommands.java @@ -3,5 +3,4 @@ public interface ICommands { public String animalCommand(String command); - } diff --git a/WorkWithJava/MVP/Model.java b/WorkWithJava/MVP/Model.java index fd540ad..ceade3e 100644 --- a/WorkWithJava/MVP/Model.java +++ b/WorkWithJava/MVP/Model.java @@ -1,10 +1,10 @@ package WorkWithJava.MVP; -import WorkWithJava.ReadInfo; +import WorkWithJava.WorkWithFiles.ExtraFunctional; +import WorkWithJava.WorkWithFiles.ReadInfo; import WorkWithJava.Registry; import java.io.IOException; -import java.util.Scanner; public class Model { @@ -13,14 +13,13 @@ public class Model { public void workWithRegistry() throws IOException { + ExtraFunctional extraFunctional = new ExtraFunctional(); int choice = view.menu(); switch (choice) { case 1 -> registry.addNewAnimal(); - case 2 -> ReadInfo.readInfo(); - -// case 3 -> ; + case 2 -> ReadInfo.readCommands(); + case 3 -> extraFunctional.addCommand(); case 4 -> System.out.println("До свидания!"); -// } } } diff --git a/WorkWithJava/Registry.java b/WorkWithJava/Registry.java index 3362402..6dde037 100644 --- a/WorkWithJava/Registry.java +++ b/WorkWithJava/Registry.java @@ -1,6 +1,7 @@ package WorkWithJava; import WorkWithJava.ClassesAnimals.*; +import WorkWithJava.WorkWithFiles.WriteInfo; import java.util.Scanner; @@ -8,6 +9,7 @@ public class Registry { Scanner sc = new Scanner(System.in); public void addNewAnimal() { + String command; System.out.println("Какое животное вы хотите завести в базу?"); System.out.println("1-Домашнее, 2-Вьючнное, введите в консоль цифру: "); int flag = sc.nextInt(); @@ -19,16 +21,16 @@ public void addNewAnimal() { Cats cats = new Cats(sc.next()); sc.nextLine(); System.out.println("Что умеет животное? Введите команду: "); - String command = cats.animalCommand(sc.nextLine()); - WriteInfo.writeBasicInfo(cats, command); + command = cats.animalCommand(sc.nextLine()); + WriteInfo.writeBasicInfo("Кошка: ", cats, command); } if (flag == 2) { System.out.println("Введите имя животного: "); Dogs dogs = new Dogs(sc.next()); sc.nextLine(); System.out.println("Что умеет животное? Введите команду: "); - String command = dogs.animalCommand(sc.nextLine()); - WriteInfo.writeBasicInfo(dogs, command); + command = dogs.animalCommand(sc.nextLine()); + WriteInfo.writeBasicInfo("Собака: ", dogs, command); } if (flag == 3) { @@ -36,8 +38,8 @@ public void addNewAnimal() { Hamsters hamsters = new Hamsters(sc.next()); sc.nextLine(); System.out.println("Что умеет животное? Введите команду: "); - String command = hamsters.animalCommand(sc.nextLine()); - WriteInfo.writeBasicInfo(hamsters, command); + command = hamsters.animalCommand(sc.nextLine()); + WriteInfo.writeBasicInfo("Хомяк: ", hamsters, command); } } else if (flag == 2) { System.out.println("1-Лошадь, 2-Осел, 3-Верблюд"); @@ -47,16 +49,16 @@ public void addNewAnimal() { Horses horses = new Horses(sc.next()); sc.nextLine(); System.out.println("Что умеет животное? Введите команду: "); - String command = horses.animalCommand(sc.nextLine()); - WriteInfo.writeBasicInfo(horses, command); + command = horses.animalCommand(sc.nextLine()); + WriteInfo.writeBasicInfo("Лошадь: ", horses, command); } if (flag == 2) { System.out.println("Введите имя животного: "); Donkeys donkeys = new Donkeys(sc.next()); sc.nextLine(); System.out.println("Что умеет животное? Введите команду: "); - String command = donkeys.animalCommand(sc.nextLine()); - WriteInfo.writeBasicInfo(donkeys, command); + command = donkeys.animalCommand(sc.nextLine()); + WriteInfo.writeBasicInfo("Осел: ", donkeys, command); } if (flag == 3) { @@ -64,8 +66,8 @@ public void addNewAnimal() { Camels camels = new Camels(sc.next()); sc.nextLine(); System.out.println("Что умеет животное? Введите команду: "); - String command = camels.animalCommand(sc.nextLine()); - WriteInfo.writeBasicInfo(camels, command); + command = camels.animalCommand(sc.nextLine()); + WriteInfo.writeBasicInfo("Верблюд: ",camels, command); } } diff --git a/WorkWithJava/WorkWithFiles/ExtraFunctional.java b/WorkWithJava/WorkWithFiles/ExtraFunctional.java new file mode 100644 index 0000000..c1772f0 --- /dev/null +++ b/WorkWithJava/WorkWithFiles/ExtraFunctional.java @@ -0,0 +1,45 @@ +package WorkWithJava.WorkWithFiles; + +import java.io.*; +import java.util.Scanner; + +public class ExtraFunctional { + public void addCommand() throws IOException { + + try { + File file = new File("Animals.txt"); + BufferedReader reader = new BufferedReader(new FileReader(file)); + StringBuilder sb = new StringBuilder(); + Scanner sc = new Scanner(System.in); + String line; + System.out.println("Введите имя животного, чтобы изменить команду: "); + String name = sc.nextLine(); + System.out.println("Введите команду: "); + String command = sc.nextLine(); + boolean isLineEdited = false; + + while ((line = reader.readLine()) != null) { + if (line.contains(name)) { + line = line + ", " + command; + isLineEdited = true; + } + + sb.append(line).append("\n"); + + } + reader.close(); + + if (isLineEdited) { + BufferedWriter writer = new BufferedWriter(new FileWriter(file)); + writer.write(sb.toString()); + writer.close(); + System.out.println("Файл успешно отредактирован."); + } else { + System.out.println("Строка не была отредактирована."); + } + } catch (IOException e) { + System.out.println("Ошибка при редактировании файла: " + e.getMessage()); + } + } +} + diff --git a/WorkWithJava/ReadInfo.java b/WorkWithJava/WorkWithFiles/ReadInfo.java similarity index 83% rename from WorkWithJava/ReadInfo.java rename to WorkWithJava/WorkWithFiles/ReadInfo.java index 2362d3b..a408c56 100644 --- a/WorkWithJava/ReadInfo.java +++ b/WorkWithJava/WorkWithFiles/ReadInfo.java @@ -1,18 +1,21 @@ -package WorkWithJava; +package WorkWithJava.WorkWithFiles; + +import WorkWithJava.ClassesAnimals.Animal; +import WorkWithJava.ICommands; import java.io.*; import java.util.Scanner; public class ReadInfo { - public static void readInfo() throws IOException { + + public static void readCommands() throws IOException { File file = new File("Animals.txt"); Scanner sc = new Scanner(System.in); System.out.println("Введите имя животного, чтобы посмотреть, что он умеет : "); String name = sc.next(); - sc.nextLine(); try (BufferedReader bufferedReader = new BufferedReader(new FileReader(file))) { String line; diff --git a/WorkWithJava/WriteInfo.java b/WorkWithJava/WorkWithFiles/WriteInfo.java similarity index 66% rename from WorkWithJava/WriteInfo.java rename to WorkWithJava/WorkWithFiles/WriteInfo.java index ea0be06..ad008ac 100644 --- a/WorkWithJava/WriteInfo.java +++ b/WorkWithJava/WorkWithFiles/WriteInfo.java @@ -1,4 +1,4 @@ -package WorkWithJava; +package WorkWithJava.WorkWithFiles; import WorkWithJava.ClassesAnimals.Animal; @@ -9,13 +9,14 @@ public class WriteInfo { - public static void writeBasicInfo(Animal animal, String command) { + public static void writeBasicInfo(String getClass, Animal animal, String command) { try (FileWriter writer = new FileWriter("Animals.txt", true)) { Map animalMap = new HashMap<>(); animalMap.put(animal, command); for (Map.Entry entry : animalMap.entrySet()) { - writer.write(entry.getKey() + "Он умеет: " + entry.getValue() + "\n"); + writer.write(getClass); + writer.write(entry.getKey() + "Животное умеет: " + entry.getValue() + "\n"); } } catch (IOException ex) { From bbed68e6f9ea58e74b4390c04c5242533e35c67c Mon Sep 17 00:00:00 2001 From: Elena Radchenko Date: Mon, 3 Jul 2023 16:15:08 +0300 Subject: [PATCH 6/6] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BB=D0=B0?= =?UTF-8?q?=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=20=D0=A1=D1=87=D0=B5=D1=82?= =?UTF-8?q?=D1=87=D0=B8=D0=BA,=20=D1=83=20=D0=BA=D0=BE=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=B5=D1=81=D1=82=D1=8C=20=D0=BC=D0=B5?= =?UTF-8?q?=D1=82=D0=BE=D0=B4=20add(),=20=D1=83=D0=B2=D0=B5=D0=BB=D0=B8?= =?UTF-8?q?=D1=87=D0=B8=D0=B2=D0=B0=D1=8E=D1=89=D0=B8=D0=B9=CC=86=20=D0=B7?= =?UTF-8?q?=D0=BD=D0=B0=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=B2=D0=BD=D1=83?= =?UTF-8?q?=D1=82=D1=80=D0=B5=D0=BD=D0=BD=D0=B5=D0=B9=CC=86=20int=20=D0=BF?= =?UTF-8?q?=D0=B5=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D0=BE=D0=B9=CC=86=20?= =?UTF-8?q?=D0=BD=D0=B0=201=20=D0=BF=D1=80=D0=B8=20=D0=BD=D0=B0=D0=B6?= =?UTF-8?q?=D0=B0=D1=82=D0=B8=D0=B5=20=E2=80=9C=D0=97=D0=B0=D0=B2=D0=B5?= =?UTF-8?q?=D1=81=D1=82=D0=B8=20=D0=BD=D0=BE=D0=B2=D0=BE=D0=B5=20=D0=B6?= =?UTF-8?q?=D0=B8=D0=B2=D0=BE=D1=82=D0=BD=D0=BE=D0=B5=E2=80=9D.=20=D0=A1?= =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=D0=B0=20=D1=82=D0=B0=D0=BA,=20?= =?UTF-8?q?=D1=87=D1=82=D0=BE=D0=B1=D1=8B=20=D1=81=20=D0=BE=D0=B1=D1=8A?= =?UTF-8?q?=D0=B5=D0=BA=D1=82=D0=BE=D0=BC=20=D1=82=D0=B0=D0=BA=D0=BE=D0=B3?= =?UTF-8?q?=D0=BE=20=D1=82=D0=B8=D0=BF=D0=B0=20=D0=BC=D0=BE=D0=B6=D0=BD?= =?UTF-8?q?=D0=BE=20=D0=B1=D1=8B=D0=BB=D0=BE=20=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=B0=D1=82=D1=8C=20=D0=B2=20=D0=B1=D0=BB=D0=BE=D0=BA?= =?UTF-8?q?=D0=B5=20try-with-resources.=20=D0=9D=D1=83=D0=B6=D0=BD=D0=BE?= =?UTF-8?q?=20=D0=B1=D1=80=D0=BE=D1=81=D0=B8=D1=82=D1=8C=20=D0=B8=D1=81?= =?UTF-8?q?=D0=BA=D0=BB=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D0=B5,=20=D0=B5?= =?UTF-8?q?=D1=81=D0=BB=D0=B8=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20?= =?UTF-8?q?=D1=81=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=BE=D0=BC=20?= =?UTF-8?q?=D1=82=D0=B8=D0=BF=D0=B0=20=D1=81=D1=87=D0=B5=D1=82=D1=87=D0=B8?= =?UTF-8?q?=D0=BA=20=D0=B1=D1=8B=D0=BB=D0=B0=20=D0=BD=D0=B5=20=D0=B2=20?= =?UTF-8?q?=D1=80=D0=B5=D1=81=D1=83=D1=80=D1=81=D0=BD=D0=BE=D0=BC=20try=20?= =?UTF-8?q?=D0=B8/=D0=B8=D0=BB=D0=B8=20=D1=80=D0=B5=D1=81=D1=83=D1=80?= =?UTF-8?q?=D1=81=20=D0=BE=D1=81=D1=82=D0=B0=D0=BB=D1=81=D1=8F=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D1=80=D1=8B=D1=82.=20=D0=97=D0=BD=D0=B0=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D1=81=D1=87=D0=B8=D1=82=D0=B0=D1=82?= =?UTF-8?q?=D1=8C=20=D0=B2=20=D1=80=D0=B5=D1=81=D1=83=D1=80=D1=81=D0=B5=20?= =?UTF-8?q?try,=20=D0=B5=D1=81=D0=BB=D0=B8=20=D0=BF=D1=80=D0=B8=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B2=D0=B5=D0=B4=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B6=D0=B8?= =?UTF-8?q?=D0=B2=D0=BE=D1=82=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D1=8B=20=D0=B2=D1=81=D0=B5=20?= =?UTF-8?q?=D0=BF=D0=BE=D0=BB=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WorkWithJava/ClassesAnimals/Animal.java | 4 ---- .../{ => ClassesAnimals}/ICommands.java | 2 +- WorkWithJava/Counter.java | 18 ++++++++++++++++++ WorkWithJava/MVP/Model.java | 2 +- WorkWithJava/Registry.java | 19 ++++++++++++++----- WorkWithJava/WorkWithFiles/ReadInfo.java | 3 --- WorkWithJava/WorkWithFiles/WriteInfo.java | 1 - 7 files changed, 34 insertions(+), 15 deletions(-) rename WorkWithJava/{ => ClassesAnimals}/ICommands.java (68%) create mode 100644 WorkWithJava/Counter.java diff --git a/WorkWithJava/ClassesAnimals/Animal.java b/WorkWithJava/ClassesAnimals/Animal.java index c92d9ee..677ecb0 100644 --- a/WorkWithJava/ClassesAnimals/Animal.java +++ b/WorkWithJava/ClassesAnimals/Animal.java @@ -1,9 +1,5 @@ package WorkWithJava.ClassesAnimals; -import WorkWithJava.ICommands; - -import java.util.Scanner; - public class Animal implements ICommands { private final String name; diff --git a/WorkWithJava/ICommands.java b/WorkWithJava/ClassesAnimals/ICommands.java similarity index 68% rename from WorkWithJava/ICommands.java rename to WorkWithJava/ClassesAnimals/ICommands.java index f2dfa6b..239e3e6 100644 --- a/WorkWithJava/ICommands.java +++ b/WorkWithJava/ClassesAnimals/ICommands.java @@ -1,4 +1,4 @@ -package WorkWithJava; +package WorkWithJava.ClassesAnimals; public interface ICommands { public String animalCommand(String command); diff --git a/WorkWithJava/Counter.java b/WorkWithJava/Counter.java new file mode 100644 index 0000000..c491be7 --- /dev/null +++ b/WorkWithJava/Counter.java @@ -0,0 +1,18 @@ +package WorkWithJava; + +public class Counter implements AutoCloseable { + static int count; + static boolean flag; + + public void add() { + count++; + } + + @Override + public void close() { + if (!flag) { + throw new IllegalStateException("Работа с объектом типа Счетчик была не в ресурсном try или ресурс остался открыт"); + } + } +} + diff --git a/WorkWithJava/MVP/Model.java b/WorkWithJava/MVP/Model.java index ceade3e..ac96b94 100644 --- a/WorkWithJava/MVP/Model.java +++ b/WorkWithJava/MVP/Model.java @@ -16,7 +16,7 @@ public void workWithRegistry() throws IOException { ExtraFunctional extraFunctional = new ExtraFunctional(); int choice = view.menu(); switch (choice) { - case 1 -> registry.addNewAnimal(); + case 1 -> registry.countAddAnimal(); case 2 -> ReadInfo.readCommands(); case 3 -> extraFunctional.addCommand(); case 4 -> System.out.println("До свидания!"); diff --git a/WorkWithJava/Registry.java b/WorkWithJava/Registry.java index 6dde037..ee4d9b2 100644 --- a/WorkWithJava/Registry.java +++ b/WorkWithJava/Registry.java @@ -2,13 +2,23 @@ import WorkWithJava.ClassesAnimals.*; import WorkWithJava.WorkWithFiles.WriteInfo; - +import java.util.NoSuchElementException; import java.util.Scanner; public class Registry { Scanner sc = new Scanner(System.in); - - public void addNewAnimal() { + public void countAddAnimal() { + try (Counter counter = new Counter()) { + addNewAnimal(); + counter.add(); + Counter.flag = true; + } catch (NoSuchElementException e) { + System.out.println("Ошибка ввода данных"); + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } + private void addNewAnimal() { String command; System.out.println("Какое животное вы хотите завести в базу?"); System.out.println("1-Домашнее, 2-Вьючнное, введите в консоль цифру: "); @@ -31,7 +41,6 @@ public void addNewAnimal() { System.out.println("Что умеет животное? Введите команду: "); command = dogs.animalCommand(sc.nextLine()); WriteInfo.writeBasicInfo("Собака: ", dogs, command); - } if (flag == 3) { System.out.println("Введите имя животного: "); @@ -67,7 +76,7 @@ public void addNewAnimal() { sc.nextLine(); System.out.println("Что умеет животное? Введите команду: "); command = camels.animalCommand(sc.nextLine()); - WriteInfo.writeBasicInfo("Верблюд: ",camels, command); + WriteInfo.writeBasicInfo("Верблюд: ", camels, command); } } diff --git a/WorkWithJava/WorkWithFiles/ReadInfo.java b/WorkWithJava/WorkWithFiles/ReadInfo.java index a408c56..19118f2 100644 --- a/WorkWithJava/WorkWithFiles/ReadInfo.java +++ b/WorkWithJava/WorkWithFiles/ReadInfo.java @@ -1,8 +1,5 @@ package WorkWithJava.WorkWithFiles; -import WorkWithJava.ClassesAnimals.Animal; -import WorkWithJava.ICommands; - import java.io.*; import java.util.Scanner; diff --git a/WorkWithJava/WorkWithFiles/WriteInfo.java b/WorkWithJava/WorkWithFiles/WriteInfo.java index ad008ac..58e7c87 100644 --- a/WorkWithJava/WorkWithFiles/WriteInfo.java +++ b/WorkWithJava/WorkWithFiles/WriteInfo.java @@ -3,7 +3,6 @@ import WorkWithJava.ClassesAnimals.Animal; import java.io.*; -import java.util.ArrayList; import java.util.HashMap; import java.util.Map;