From bfaa575dfaf387704dab9113a10a89d085d69086 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 30 Nov 2021 16:46:17 +0300 Subject: [PATCH 001/101] Create bvadim --- bvadim | 1 + 1 file changed, 1 insertion(+) create mode 100644 bvadim diff --git a/bvadim b/bvadim new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/bvadim @@ -0,0 +1 @@ + From ce005057c7c25efeaccc28aa25b664e2af0a51f9 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 30 Nov 2021 16:50:02 +0300 Subject: [PATCH 002/101] Update and rename bvadim to vbykov --- bvadim | 1 - vbykov | 31 +++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) delete mode 100644 bvadim create mode 100644 vbykov diff --git a/bvadim b/bvadim deleted file mode 100644 index 8b137891..00000000 --- a/bvadim +++ /dev/null @@ -1 +0,0 @@ - diff --git a/vbykov b/vbykov new file mode 100644 index 00000000..ff3259ab --- /dev/null +++ b/vbykov @@ -0,0 +1,31 @@ +package ru.tn.courses.vbykov.v1.task1; + +import java.util.Scanner; + +public class Subtask_1 { + /** + * Дан массив натуральных чисел. Найти сумму элементов, кратных данному K. + **/ + + public static void main(String[] args) { + + int[] array = new int[10]; + Scanner scanner = new Scanner(System.in); + + System.out.println("введите k:"); + + int k = scanner.nextInt(); + int sum = 0; + + System.out.println("введите массив размера 10:"); + + for (int i : array) { + array[i] = scanner.nextInt(); + if (array[i] % k == 0) { + sum += array[i]; + } + } + + System.out.println("сумма элементов массива кратных числу k = " + sum); + } +} From 8feb2f68962acd72744a452c0b654eac442d14f9 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 30 Nov 2021 16:52:13 +0300 Subject: [PATCH 003/101] Delete vbykov --- vbykov | 31 ------------------------------- 1 file changed, 31 deletions(-) delete mode 100644 vbykov diff --git a/vbykov b/vbykov deleted file mode 100644 index ff3259ab..00000000 --- a/vbykov +++ /dev/null @@ -1,31 +0,0 @@ -package ru.tn.courses.vbykov.v1.task1; - -import java.util.Scanner; - -public class Subtask_1 { - /** - * Дан массив натуральных чисел. Найти сумму элементов, кратных данному K. - **/ - - public static void main(String[] args) { - - int[] array = new int[10]; - Scanner scanner = new Scanner(System.in); - - System.out.println("введите k:"); - - int k = scanner.nextInt(); - int sum = 0; - - System.out.println("введите массив размера 10:"); - - for (int i : array) { - array[i] = scanner.nextInt(); - if (array[i] % k == 0) { - sum += array[i]; - } - } - - System.out.println("сумма элементов массива кратных числу k = " + sum); - } -} From 3ec9a5ccb61f0b9e29331dd0cc0149766c1266cc Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 30 Nov 2021 17:02:31 +0300 Subject: [PATCH 004/101] Create subtask1.java --- .../tn/courses/vbykov/v1/task1/subtask1.java | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task1/subtask1.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask1.java b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask1.java new file mode 100644 index 00000000..490180fa --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask1.java @@ -0,0 +1,31 @@ +package ru.tn.courses.vbykov.v1.task1; + +import java.util.Scanner; + +public class subtask1 { + /** + * Дан массив натуральных чисел. Найти сумму элементов, кратных данному K. + **/ + + public static void main(String[] args) { + + int[] array = new int[10]; + Scanner scanner = new Scanner(System.in); + + System.out.println("введите k:"); + + int k = scanner.nextInt(); + int sum = 0; + + System.out.println("введите массив размера 10:"); + + for (int i : array) { + array[i] = scanner.nextInt(); + if (array[i] % k == 0) { + sum += array[i]; + } + } + + System.out.println("сумма элементов массива кратных числу k = " + sum); + } +} From ece6773671ddd83e004e9692326046c3d5364d79 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 30 Nov 2021 17:08:40 +0300 Subject: [PATCH 005/101] Create subtask2.java --- .../tn/courses/vbykov/v1/task1/subtask2.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java new file mode 100644 index 00000000..e6e8ba45 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java @@ -0,0 +1,36 @@ +package ru.tn.courses.vbykov.v1.task1; + +import java.util.Scanner; + +public class subtask2 { + /** + * У прилавка магазина выстроилась очередь из n покупателей. Время обслуживания i-того покупателя равно tj (i = 1, + * …, n). Определить время Ci пребывания i-гo покупателя в очереди. + */ + + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + + System.out.println("Введите длину очереди n:"); + + int n = scanner.nextInt(); + double[] t = new double[n]; + double[] c = new double[n]; + + System.out.println("Введите время обслуживания i покупателя:"); + + for (int i = 0; i < n; i++) { + t[i] = scanner.nextDouble(); + if (i == 0) { + c[i] = 0; + } else { + c[i] = c[i - 1] + t[i - 1]; + } + } + + System.out.println("Введите пребывания i покупателя в очереди:"); + for (int i = 0; i < n; i++) { + System.out.println(i + 1 + " покупатель : " + c[i] + " единиц времени в очереди"); + } + } +} From b0284abbb10f8dfe60380c92a4719704f988ae54 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 30 Nov 2021 17:14:26 +0300 Subject: [PATCH 006/101] Create subtask3.java --- .../tn/courses/vbykov/v1/task1/subtask3.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java new file mode 100644 index 00000000..51d15a6a --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java @@ -0,0 +1,39 @@ +package ru.tn.courses.vbykov.v1.task1; + +import java.util.Scanner; + +public class subtask3 { + /** + * Даны две последовательности a1 ≤ a2 ≤ ... ≤ аn и b1 ≤ b2 ≤ ... ≤ bn. Образовать из них новую последовательность + * чисел так, чтобы она тоже была неубывающей (дополнительный массив не использовать). + */ + + public static void main(String[] args) { + int[] a, b, c; + Scanner scanner = new Scanner(System.in); + + System.out.println("Введите длину последовательностей n:"); + + int n = scanner.nextInt(); + a = new int[n]; + b = new int[n]; + + System.out.println("Введите последовательность a:"); + for (int i = 0; i < n; i++) { + a[i] = scanner.nextInt(); + } + + System.out.println("Введите последовательность b:"); + for (int i = 0; i < n; i++) { + b[i] = scanner.nextInt(); + } + + System.out.println("Новая последовательность без нового массива:"); + for (int i = 0, j = 0; i < n && j < n; j++) { + while (i < n && a[i] <= b[j]) { + System.out.println(a[i++]); + } + System.out.println(b[j]); + } + } +} From ea7b963ec748a164882a87e762724c0191daa51f Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 30 Nov 2021 17:15:13 +0300 Subject: [PATCH 007/101] Update subtask3.java --- src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java index 51d15a6a..e72530b3 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java @@ -6,7 +6,7 @@ public class subtask3 { /** * Даны две последовательности a1 ≤ a2 ≤ ... ≤ аn и b1 ≤ b2 ≤ ... ≤ bn. Образовать из них новую последовательность * чисел так, чтобы она тоже была неубывающей (дополнительный массив не использовать). - */ + **/ public static void main(String[] args) { int[] a, b, c; From 856e6da0c5b347c9be50e3e7566261016e601207 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 30 Nov 2021 17:21:55 +0300 Subject: [PATCH 008/101] Update subtask2.java --- src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java index e6e8ba45..c68e5654 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java @@ -4,9 +4,9 @@ public class subtask2 { /** - * У прилавка магазина выстроилась очередь из n покупателей. Время обслуживания i-того покупателя равно tj (i = 1, - * …, n). Определить время Ci пребывания i-гo покупателя в очереди. - */ + * У прилавка магазина выстроилась очередь из n покупателей. Время обслуживания i-того покупателя равно tj (i = 1, …, n). + * Определить время Ci пребывания i-гo покупателя в очереди. + **/ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); From c7cc791ea9f78acf305f054842d54f1fb8dd0a37 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 30 Nov 2021 17:29:07 +0300 Subject: [PATCH 009/101] Update subtask3.java --- src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java index e72530b3..b684c8fa 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java @@ -9,7 +9,7 @@ public class subtask3 { **/ public static void main(String[] args) { - int[] a, b, c; + int[] a, b; Scanner scanner = new Scanner(System.in); System.out.println("Введите длину последовательностей n:"); From f47c21a013914d1dbbf41b88c9007ffbda1e1549 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 16:56:11 +0300 Subject: [PATCH 010/101] Create OnlineStore.java --- .../java/ru/tn/courses/vbykov/v1/OnlineStore.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/OnlineStore.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/OnlineStore.java b/src/main/java/ru/tn/courses/vbykov/v1/OnlineStore.java new file mode 100644 index 00000000..696bbef1 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/OnlineStore.java @@ -0,0 +1,15 @@ +package ru.tn.courses.vbykov.v1.task2.business; + +import ru.tn.courses.vbykov.v1.task2.models.Order; +import ru.tn.courses.vbykov.v1.task2.models.Product; + +import java.util.List; + +public interface OnlineStore { + + Order createOrder(Integer productId, String customer) throws Exception; + Order payment(Integer orderId) throws Exception; + Order returnProduct(Integer orderId) throws Exception; + Order modifOrder(Integer orderId, Integer productId) throws Exception; + List catalog(); +} From c484cddd43f5d1441273fb0c5fb1312bf1882376 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 16:57:21 +0300 Subject: [PATCH 011/101] Create subtask.java --- .../subtask.java" | 1 + 1 file changed, 1 insertion(+) create mode 100644 "src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/subtask.java" diff --git "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/subtask.java" "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/subtask.java" new file mode 100644 index 00000000..8b137891 --- /dev/null +++ "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/subtask.java" @@ -0,0 +1 @@ + From 08052a0f64fdd4b60e62582ace46e86a88f8de7e Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 16:59:04 +0300 Subject: [PATCH 012/101] Create OnlineStore.java --- .../business/OnlineStore.java" | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 "src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/business/OnlineStore.java" diff --git "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/business/OnlineStore.java" "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/business/OnlineStore.java" new file mode 100644 index 00000000..696bbef1 --- /dev/null +++ "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/business/OnlineStore.java" @@ -0,0 +1,15 @@ +package ru.tn.courses.vbykov.v1.task2.business; + +import ru.tn.courses.vbykov.v1.task2.models.Order; +import ru.tn.courses.vbykov.v1.task2.models.Product; + +import java.util.List; + +public interface OnlineStore { + + Order createOrder(Integer productId, String customer) throws Exception; + Order payment(Integer orderId) throws Exception; + Order returnProduct(Integer orderId) throws Exception; + Order modifOrder(Integer orderId, Integer productId) throws Exception; + List catalog(); +} From d5fc0c0efb444ccb2016b47e812cbc5e4ee65dd2 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 17:04:38 +0300 Subject: [PATCH 013/101] Create BrandEnum.java --- .../enums/BrandEnum.java" | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 "src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/enums/BrandEnum.java" diff --git "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/enums/BrandEnum.java" "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/enums/BrandEnum.java" new file mode 100644 index 00000000..f8a06017 --- /dev/null +++ "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/enums/BrandEnum.java" @@ -0,0 +1,16 @@ +package ru.tn.courses.vbogatyrev.v1.task2.enums; + +public enum BrandEnum { + KIA("киа"), Lada("лада"), Toyota("тойота"); + + private final String value; + + BrandEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + +} From b1e52eea862f6ffa464c9012b61f8a641a1c1b81 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 17:06:39 +0300 Subject: [PATCH 014/101] Create Car.java --- .../models/Car.java" | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 "src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/models/Car.java" diff --git "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/models/Car.java" "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/models/Car.java" new file mode 100644 index 00000000..b6cca8dc --- /dev/null +++ "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/models/Car.java" @@ -0,0 +1,53 @@ +package ru.tn.courses.vbykov.v1.task2.models; + +public class Car extends Product { + private String color; + private String brand; + private String transmission; + private String drive; + + public Car(Integer id, String color, String brand, double price, String transmission, String drive, int count) { + super(id, price, count); + this.color = color; + this.brand = brand; + this.transmission = transmission; + this.drive = drive; + } + + public String getColor() { + return color; + } + + public void setColor(String color) { + this.color = color; + } + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public String getTransmission() { + return transmission; + } + + public void setTransmission(String transmission) { + this.transmission = transmission; + } + + public String getDrive() { + return drive; + } + + public void setDrive(String drive) { + this.drive = drive; + } + + @Override + public String toString() { + return super.toString() + "; color : " + color + "; brand: " + brand + "; transmission: " + transmission + "; drive: " + drive + "\n"; + } +} From b676ef9ca516e8e34f4cda6007189e9b9a6d6e74 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 17:07:14 +0300 Subject: [PATCH 015/101] Update BrandEnum.java --- .../enums/BrandEnum.java" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/enums/BrandEnum.java" "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/enums/BrandEnum.java" index f8a06017..1ce11c42 100644 --- "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/enums/BrandEnum.java" +++ "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/enums/BrandEnum.java" @@ -1,4 +1,4 @@ -package ru.tn.courses.vbogatyrev.v1.task2.enums; +package ru.tn.courses.vbykov.v1.task2.enums; public enum BrandEnum { KIA("киа"), Lada("лада"), Toyota("тойота"); From 1394c45ee26738b66b2314d67f17e37947850940 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 17:07:51 +0300 Subject: [PATCH 016/101] =?UTF-8?q?Update=20and=20rename=20src/=D0=B3?= =?UTF-8?q?=D0=BB=D0=B0=D0=B2=D0=BD=D1=8B=D0=B9/=D0=94=D0=B6=D0=B0=D0=B2?= =?UTF-8?q?=D0=B0/RU/tn/=D0=BA=D1=83=D1=80=D1=81=D1=8B/vbykov/v1/=D0=B7?= =?UTF-8?q?=D0=B0=D0=B4=D0=B0=D1=87=D0=B02/enums/BrandEnum.java=20to=20src?= =?UTF-8?q?/=D0=B3=D0=BB=D0=B0=D0=B2=D0=BD=D1=8B=D0=B9/=D0=94=D0=B6=D0=B0?= =?UTF-8?q?=D0=B2=D0=B0/RU/tn/=D0=BA=D1=83=D1=80=D1=81=D1=8B/vbykov/v1/?= =?UTF-8?q?=D0=B7=D0=B0=D0=B4=D0=B0=D1=87=D0=B02/=D0=BF=D0=B5=D1=80=D0=B5?= =?UTF-8?q?=D1=87=D0=B8=D1=81=D0=BB=D1=8F=D0=B5=D1=82/BrandEnum.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BrandEnum.java" | 1 - 1 file changed, 1 deletion(-) rename "src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/enums/BrandEnum.java" => "src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/\320\277\320\265\321\200\320\265\321\207\320\270\321\201\320\273\321\217\320\265\321\202/BrandEnum.java" (99%) diff --git "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/enums/BrandEnum.java" "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/\320\277\320\265\321\200\320\265\321\207\320\270\321\201\320\273\321\217\320\265\321\202/BrandEnum.java" similarity index 99% rename from "src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/enums/BrandEnum.java" rename to "src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/\320\277\320\265\321\200\320\265\321\207\320\270\321\201\320\273\321\217\320\265\321\202/BrandEnum.java" index 1ce11c42..858a9121 100644 --- "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/enums/BrandEnum.java" +++ "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/\320\277\320\265\321\200\320\265\321\207\320\270\321\201\320\273\321\217\320\265\321\202/BrandEnum.java" @@ -12,5 +12,4 @@ public enum BrandEnum { public String getValue() { return value; } - } From 6d330dad29f54a987cb44961c08b3068af242d60 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 17:12:55 +0300 Subject: [PATCH 017/101] Delete subtask.java --- .../subtask.java" | 1 - 1 file changed, 1 deletion(-) delete mode 100644 "src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/subtask.java" diff --git "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/subtask.java" "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/subtask.java" deleted file mode 100644 index 8b137891..00000000 --- "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/subtask.java" +++ /dev/null @@ -1 +0,0 @@ - From 58fea129867de8b31960da02fadd3f34bc37eff2 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 17:13:07 +0300 Subject: [PATCH 018/101] Delete OnlineStore.java --- .../business/OnlineStore.java" | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 "src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/business/OnlineStore.java" diff --git "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/business/OnlineStore.java" "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/business/OnlineStore.java" deleted file mode 100644 index 696bbef1..00000000 --- "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/business/OnlineStore.java" +++ /dev/null @@ -1,15 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.business; - -import ru.tn.courses.vbykov.v1.task2.models.Order; -import ru.tn.courses.vbykov.v1.task2.models.Product; - -import java.util.List; - -public interface OnlineStore { - - Order createOrder(Integer productId, String customer) throws Exception; - Order payment(Integer orderId) throws Exception; - Order returnProduct(Integer orderId) throws Exception; - Order modifOrder(Integer orderId, Integer productId) throws Exception; - List catalog(); -} From 54c70cf2c52f22223df02651b321a5e7596caca7 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 17:13:19 +0300 Subject: [PATCH 019/101] Delete BrandEnum.java --- .../BrandEnum.java" | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 "src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/\320\277\320\265\321\200\320\265\321\207\320\270\321\201\320\273\321\217\320\265\321\202/BrandEnum.java" diff --git "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/\320\277\320\265\321\200\320\265\321\207\320\270\321\201\320\273\321\217\320\265\321\202/BrandEnum.java" "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/\320\277\320\265\321\200\320\265\321\207\320\270\321\201\320\273\321\217\320\265\321\202/BrandEnum.java" deleted file mode 100644 index 858a9121..00000000 --- "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/\320\277\320\265\321\200\320\265\321\207\320\270\321\201\320\273\321\217\320\265\321\202/BrandEnum.java" +++ /dev/null @@ -1,15 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.enums; - -public enum BrandEnum { - KIA("киа"), Lada("лада"), Toyota("тойота"); - - private final String value; - - BrandEnum(String value) { - this.value = value; - } - - public String getValue() { - return value; - } -} From ffc74940a1813722e977fbfb57b7c1293ebc02c7 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 17:13:30 +0300 Subject: [PATCH 020/101] Delete Car.java --- .../models/Car.java" | 53 ------------------- 1 file changed, 53 deletions(-) delete mode 100644 "src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/models/Car.java" diff --git "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/models/Car.java" "b/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/models/Car.java" deleted file mode 100644 index b6cca8dc..00000000 --- "a/src/\320\263\320\273\320\260\320\262\320\275\321\213\320\271/\320\224\320\266\320\260\320\262\320\260/RU/tn/\320\272\321\203\321\200\321\201\321\213/vbykov/v1/\320\267\320\260\320\264\320\260\321\207\320\2602/models/Car.java" +++ /dev/null @@ -1,53 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.models; - -public class Car extends Product { - private String color; - private String brand; - private String transmission; - private String drive; - - public Car(Integer id, String color, String brand, double price, String transmission, String drive, int count) { - super(id, price, count); - this.color = color; - this.brand = brand; - this.transmission = transmission; - this.drive = drive; - } - - public String getColor() { - return color; - } - - public void setColor(String color) { - this.color = color; - } - - public String getBrand() { - return brand; - } - - public void setBrand(String brand) { - this.brand = brand; - } - - public String getTransmission() { - return transmission; - } - - public void setTransmission(String transmission) { - this.transmission = transmission; - } - - public String getDrive() { - return drive; - } - - public void setDrive(String drive) { - this.drive = drive; - } - - @Override - public String toString() { - return super.toString() + "; color : " + color + "; brand: " + brand + "; transmission: " + transmission + "; drive: " + drive + "\n"; - } -} From 46aa6553cc5fe45255eb42f91f22d19c920063cc Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 17:13:48 +0300 Subject: [PATCH 021/101] Delete OnlineStore.java --- .../java/ru/tn/courses/vbykov/v1/OnlineStore.java | 15 --------------- 1 file changed, 15 deletions(-) delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/OnlineStore.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/OnlineStore.java b/src/main/java/ru/tn/courses/vbykov/v1/OnlineStore.java deleted file mode 100644 index 696bbef1..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/OnlineStore.java +++ /dev/null @@ -1,15 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.business; - -import ru.tn.courses.vbykov.v1.task2.models.Order; -import ru.tn.courses.vbykov.v1.task2.models.Product; - -import java.util.List; - -public interface OnlineStore { - - Order createOrder(Integer productId, String customer) throws Exception; - Order payment(Integer orderId) throws Exception; - Order returnProduct(Integer orderId) throws Exception; - Order modifOrder(Integer orderId, Integer productId) throws Exception; - List catalog(); -} From 7565e8203f012adeca4c815437ba83b05b3bf65f Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 17:22:11 +0300 Subject: [PATCH 022/101] Create subtask.java --- .../tn/courses/vbykov/v1/task2/subtask.java | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/subtask.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/subtask.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/subtask.java new file mode 100644 index 00000000..0e3b1718 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/subtask.java @@ -0,0 +1,94 @@ +package ru.tn.courses.vbykov.v1.task2; + +import ru.tn.courses.vbykov.v1.task2.business.InternetShop; +import ru.tn.courses.vbykov.v1.task2.business.MyShop; +import ru.tn.courses.vbykov.v1.task2.models.Customer; +import ru.tn.courses.vbykov.v1.task2.repositories.CustomerRepository; +import ru.tn.courses.vbykov.v1.task2.repositories.OrderRepository; + +import java.util.Scanner; + +public class subtask { + + /** + * - Необходимо разработать модель (класс) описывающий товар из интернет магазина (можно взять на свой выбор: + * телефоны, машины). - Необходимо разработать интерфейс для обработки заказов интернет магазина. - Реализовать + * классы обработки событий: создание заказа, изменения по заказу, возврат заказа. - Необходимо оформить все + * перечисления через enum - Вынести общую логику в абстракцию + */ + public static void main(String[] args) { + + OrderRepository orderRepository = OrderRepository.getInstance(); + CustomerRepository customerRepository = CustomerRepository.getInstance(); + + InternetShop shop = new MyShop(); + Scanner scanner = new Scanner(System.in); + + System.out.println("введите команду: \n" + "exit: выйти\n" + "help: справка\n" + "create: создать заказ\n" + + "return: вернуть товар\n" + "modif: изменить заказ\n" + "payment: оплатить\n" + + "catalog: вывести католог товаров\n" + "orders: вывести список заказов\n"); + while (true) { + try { + switch (scanner.nextLine()) { + case "help": + System.out.println("exit: выйти\n" + "help: справка\n" + "create: создать заказ\n" + + "return: вернуть товар\n" + "modif: изменить заказ\n" + + "payment: оплатить\n" + "catalog: вывести католог товаров\n" + + "orders: вывести список заказов\n" + "reg: регистрация пользователя\n" + + "users: список пользователей"); + break; + case "exit": + System.exit(1); + break; + case "create": + System.out.println("введите свое имя: "); + String customerName = scanner.nextLine(); + System.out.println("выберите товар который хотите купить: (введите id товара для покупки)"); + System.out.println(shop.catalog()); + shop.createOrder(Integer.valueOf(scanner.nextLine()), customerName); + System.out.println("Заказ был успешно создан"); + break; + case "orders": + System.out.println(orderRepository.findAll()); + break; + case "catalog": + System.out.println(shop.catalog()); + break; + case "modif": + System.out.println("введите id заказа"); + Integer orderId = Integer.valueOf(scanner.nextLine()); + System.out.println("выберите товар который хотите купить:"); + System.out.println(shop.catalog()); + shop.modifOrder(orderId, Integer.valueOf(scanner.nextLine())); + System.out.println("заказ успешно изменен"); + break; + case "payment": + System.out.println("введите id заказа"); + orderId = Integer.valueOf(scanner.nextLine()); + shop.payment(orderId); + System.out.println("оплата успешно произведена"); + break; + case "return": + System.out.println("введите id заказа:"); + shop.returnProduct(Integer.valueOf(scanner.nextLine())); + System.out.println("возврат успешно выполнен"); + break; + case "reg": + System.out.println("введите имя"); + String name = scanner.nextLine(); + System.out.println("введите скок денег на счету XD"); + customerRepository.save(new Customer(customerRepository.getSize(), name, Double.valueOf(scanner.nextLine()))); + System.out.println("пользователь успешно создан"); + break; + case "users": + System.out.println(customerRepository.findAll()); + break; + default: + System.out.println("команда не понятна, help - справка"); + } + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } + } +} From 631152184669c04add6e39e95ba52e87d2aff07d Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 17:24:00 +0300 Subject: [PATCH 023/101] Create InternetShop.java --- .../vbykov/v1/task2/business/InternetShop.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/business/InternetShop.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/business/InternetShop.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/business/InternetShop.java new file mode 100644 index 00000000..96ee6798 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/business/InternetShop.java @@ -0,0 +1,15 @@ +package ru.tn.courses.vbykov.v1.task2.business; + +import ru.tn.courses.vbykov.v1.task2.models.Order; +import ru.tn.courses.vbykov.v1.task2.models.Product; + +import java.util.List; + +public interface InternetShop { + + Order createOrder(Integer productId, String customer) throws Exception; + Order payment(Integer orderId) throws Exception; + Order returnProduct(Integer orderId) throws Exception; + Order modifOrder(Integer orderId, Integer productId) throws Exception; + List catalog(); +} From f5200a4a6318e290fb103f9f53c1849aeb01f595 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 17:26:39 +0300 Subject: [PATCH 024/101] Create MyShop.java --- .../vbykov/v1/task2/business/MyShop.java | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/business/MyShop.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/business/MyShop.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/business/MyShop.java new file mode 100644 index 00000000..4bd1f87e --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/business/MyShop.java @@ -0,0 +1,89 @@ +package ru.tn.courses.vbykov.v1.task2.business; + +import ru.tn.courses.vbykov.v1.task2.enums.OrderDescriptionEnum; +import ru.tn.courses.vbykov.v1.task2.models.Customer; +import ru.tn.courses.vbykov.v1.task2.models.Order; +import ru.tn.courses.vbykov.v1.task2.models.Product; +import ru.tn.courses.vbykov.v1.task2.repositories.CustomerRepository; +import ru.tn.courses.vbykov.v1.task2.repositories.OrderRepository; +import ru.tn.courses.vbykov.v1.task2.repositories.ProductRepository; + +import java.time.LocalDate; +import java.util.List; + +public class MyShop implements InternetShop { + OrderRepository orderRepository = OrderRepository.getInstance(); + ProductRepository productRepository = ProductRepository.getInstance(); + CustomerRepository customerRepository = CustomerRepository.getInstance(); + + @Override + public Order createOrder(Integer productId, String customerName) throws Exception { + Customer customer = customerRepository.findByName(customerName); + try { + Product product = productRepository.findById(productId); + Order order = + new Order(orderRepository.getSize(), customer, product, OrderDescriptionEnum.CREATE.getValue()); + orderRepository.save(order); + return order; + } catch (Exception e) { + throw new Exception("товар с таким id не найден"); + } + } + + @Override + public Order payment(Integer orderId) throws Exception { + try { + Order order = orderRepository.findById(orderId); + order.setDescription(OrderDescriptionEnum.BUY.getValue()); + Customer customer = customerRepository.findById(order.getCustomer().getId()); + Product product = productRepository.findById(order.getProduct().getId()); + if (product.getCount() > 0) { + product.setCount(product.getCount() - 1); + } else { + throw new Exception("товара больше нет"); + } + if (order.getProduct().getPrice() > customer.getMoney()) { + throw new Exception("на вашем счете недосаточного денег"); + } + productRepository.update(product, product.getId()); + order.setPayment(order.getProduct().getPrice()); + customer.setMoney(customer.getMoney() - order.getProduct().getPrice()); + customerRepository.update(customer, customer.getId()); + + return order; + } catch (IndexOutOfBoundsException e) { + throw new Exception("заказ с таким id не найден"); + } + } + + @Override + public Order returnProduct(Integer orderId) throws Exception { + try { + Order order = orderRepository.findById(orderId); + order.setDescription(OrderDescriptionEnum.RETURN.getValue()); + orderRepository.update(order, orderId); + return order; + } catch (Exception e) { + throw new Exception("заказа с таким id не найдено."); + } + } + + @Override + public Order modifOrder(Integer orderId, Integer newProductId) throws Exception { + try { + Product newProduct = productRepository.findById(newProductId); + Order order = orderRepository.findById(orderId); + order.setModified(LocalDate.now()); + order.setProduct(newProduct); + order.setDescription(OrderDescriptionEnum.MODIF.getValue()); + return order; + } catch (Exception e) { + throw new Exception("товар или заказ с таким id не найдено"); + } + } + + @Override + public List catalog() { + return productRepository.findAll(); + } +} From 3fca71120db966dcf90b123454e7fdec4fec743e Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 18:29:41 +0300 Subject: [PATCH 025/101] Create BrandEnum.java --- .../courses/vbykov/v1/task2/enums/BrandEnum.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java new file mode 100644 index 00000000..d78cedd7 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java @@ -0,0 +1,16 @@ +package ru.tn.courses.vbykov.v1.task2.enums; + +public enum BrandEnum { + KIA("киа"), Lada("лада"), BMW("бмв"); + + private final String value; + + BrandEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + +} From 71c004780801dec82d49ce2bd006c23e7d79d437 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 18:32:12 +0300 Subject: [PATCH 026/101] Create ColorEnum --- .../ru/tn/courses/vbykov/v1/task2/enums/ColorEnum | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum new file mode 100644 index 00000000..248d5656 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum @@ -0,0 +1,15 @@ +package ru.tn.courses.vbykov.v1.task2.enums; + +public enum ColorEnum{ + RED("красный"), GREEN("зеленый"), BLUE("синий"); + + private final String value; + + ColorEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } +} From 6bd3b16a4a35f229bb06c38da9e7509feed6c329 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 18:34:42 +0300 Subject: [PATCH 027/101] Create DriveEnum.java --- .../courses/vbykov/v1/task2/enums/DriveEnum.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DriveEnum.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DriveEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DriveEnum.java new file mode 100644 index 00000000..5afe461e --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DriveEnum.java @@ -0,0 +1,15 @@ +package ru.tn.courses.vbykov.v1.task2.enums; + +public enum DriveEnum { + FULL("полный привод"), FRONT("передний привод"), REAR("задний привод"); + + private final String value; + + DriveEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } +} From 884fae4c648fc8ac6d3644a0fef52d3d00d21c77 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 18:38:20 +0300 Subject: [PATCH 028/101] Create OrderDescriptionEnum.java --- .../v1/task2/enums/OrderDescriptionEnum.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java new file mode 100644 index 00000000..869781ae --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java @@ -0,0 +1,15 @@ +package ru.tn.courses.vbykov.v1.task2.enums; + +public enum OrderDescriptionEnum { + CREATE("Создание заказа"), RETURN("возврат продукта"), MODIF("изменение заказа"), BUY("произведена покупка"); + + private final String value; + + OrderDescriptionEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } +} From a9ac4dc734e846b2bbae8e464f8d6a77d4530bf1 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 18:39:36 +0300 Subject: [PATCH 029/101] Create TransmissionEnum.java --- .../vbykov/v1/task2/enums/TransmissionEnum.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java new file mode 100644 index 00000000..8cff2e65 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java @@ -0,0 +1,17 @@ +package ru.tn.courses.vbogatyrev.v1.task2.enums; + +public enum TransmissionEnum { + + MANUAL("механическая"), AUTOMATIC("автоматическая"); + + private final String value; + + TransmissionEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + +} From 3175ff9a25e6788d17c8da18a39f416bddf113e5 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 18:39:58 +0300 Subject: [PATCH 030/101] Delete TransmissionEnum.java --- .../vbykov/v1/task2/enums/TransmissionEnum.java | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java deleted file mode 100644 index 8cff2e65..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java +++ /dev/null @@ -1,17 +0,0 @@ -package ru.tn.courses.vbogatyrev.v1.task2.enums; - -public enum TransmissionEnum { - - MANUAL("механическая"), AUTOMATIC("автоматическая"); - - private final String value; - - TransmissionEnum(String value) { - this.value = value; - } - - public String getValue() { - return value; - } - -} From 3cfa528840f70197491e4e8bb3870a3b4fc5540e Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 18:59:10 +0300 Subject: [PATCH 031/101] Create TransmissionEnum.java --- .../vbykov/v1/task2/enums/TransmissionEnum.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java new file mode 100644 index 00000000..b4d2c07f --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java @@ -0,0 +1,17 @@ +package ru.tn.courses.vbykov.v1.task2.enums; + +public enum TransmissionEnum { + + MANUAL("механическая"), AUTOMATIC("автоматическая"); + + private final String value; + + TransmissionEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + +} From 60dc417f9995108def0d962f0bb8c0df016e3091 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 19:02:59 +0300 Subject: [PATCH 032/101] Create Car.java --- .../courses/vbykov/v1/task2/models/Car.java | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java new file mode 100644 index 00000000..b6cca8dc --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java @@ -0,0 +1,53 @@ +package ru.tn.courses.vbykov.v1.task2.models; + +public class Car extends Product { + private String color; + private String brand; + private String transmission; + private String drive; + + public Car(Integer id, String color, String brand, double price, String transmission, String drive, int count) { + super(id, price, count); + this.color = color; + this.brand = brand; + this.transmission = transmission; + this.drive = drive; + } + + public String getColor() { + return color; + } + + public void setColor(String color) { + this.color = color; + } + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public String getTransmission() { + return transmission; + } + + public void setTransmission(String transmission) { + this.transmission = transmission; + } + + public String getDrive() { + return drive; + } + + public void setDrive(String drive) { + this.drive = drive; + } + + @Override + public String toString() { + return super.toString() + "; color : " + color + "; brand: " + brand + "; transmission: " + transmission + "; drive: " + drive + "\n"; + } +} From b1a7d79fd73f46c58422e7a32398806da2a5ccf1 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 19:05:28 +0300 Subject: [PATCH 033/101] Create Customer.java --- .../vbykov/v1/task2/models/Customer.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java new file mode 100644 index 00000000..89793636 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java @@ -0,0 +1,33 @@ +package ru.tn.courses.vbykov.v1.task2.models; + +public class Customer extends Model{ + String name; + Double money; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Double getMoney() { + return money; + } + + public void setMoney(Double money) { + this.money = money; + } + + public Customer(Integer id, String name, Double money) { + super(id); + this.name = name; + this.money = money; + } + + @Override + public String toString() { + return super.toString() + "; name: " + name + "; money: " + money + "\n"; + } +} From 4216d8106cb494f4ca20d14c6f3c14573c68f83e Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 19:08:30 +0300 Subject: [PATCH 034/101] Create Model.java --- .../courses/vbykov/v1/task2/models/Model.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java new file mode 100644 index 00000000..c9dcaa40 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java @@ -0,0 +1,18 @@ +package ru.tn.courses.vbykov.v1.task2.models; + +public class Model { + private Integer id; + + public Integer getId() { + return id; + } + + public Model(Integer id) { + this.id = id; + } + + @Override + public String toString() { + return "id: " + id; + } +} From 2b59b014a39aaa49324f2e71acf56ba8ae15836a Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 19:10:08 +0300 Subject: [PATCH 035/101] Create Order.java --- .../courses/vbykov/v1/task2/models/Order.java | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java new file mode 100644 index 00000000..17e4abaf --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java @@ -0,0 +1,73 @@ +package ru.tn.courses.vbykov.v1.task2.models; + +import java.time.LocalDate; + +public class Order extends Model { + + private Customer customer; + private LocalDate created; + private LocalDate modified; + private Product product; + private String description; + private double payment; + + public double getPayment() { + return payment; + } + + public void setPayment(double payment) { + this.payment = payment; + } + + public Order(Integer id, Customer customer, Product product, String description) { + super(id); + this.customer = customer; + this.created = LocalDate.now(); + this.modified = LocalDate.now(); + this.product = product; + this.description = description; + } + + public Customer getCustomer() { + return customer; + } + + public Product getProduct() { + return product; + } + + + public void setProduct(Product product) { + this.product = product; + } + + public void setCustomer(Customer customer) { + this.customer = customer; + } + + public LocalDate getModified() { + return modified; + } + + public void setModified(LocalDate modified) { + this.modified = modified; + } + + public LocalDate getCreated() { + return created; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + @Override + public String toString() { + return super.toString() + "; customer: " + customer.name + "; created: " + created + "; product: {" + product + + "}; description: " + description + "\n"; + } +} From 1591763bc71fbdcf44d70697c33a1c294d1377fd Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 19:13:03 +0300 Subject: [PATCH 036/101] Create Product.java --- .../vbykov/v1/task2/models/Product.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java new file mode 100644 index 00000000..ecd5af59 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java @@ -0,0 +1,33 @@ +package ru.tn.courses.vbykov.v1.task2.models; + +public class Product extends Model{ + private double price; + private int count; + + public Product(Integer id, double price, int count) { + super(id); + this.price = price; + this.count = count; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } + + @Override + public String toString() { + return super.toString() + "; price: " + price + "; count: "+ count; + } +} From a9cdb4d11d923978eed0db6cc26410d361e0fa2a Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 19:19:35 +0300 Subject: [PATCH 037/101] Create CustomerRepository.java --- .../repositories/CustomerRepository.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java new file mode 100644 index 00000000..c049aef5 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java @@ -0,0 +1,33 @@ +package ru.tn.courses.vbykov.v1.task2.repositories; + +import ru.tn.courses.vbykov.v1.task2.models.Customer; + +import java.util.ArrayList; +import java.util.List; + +public class CustomerRepository extends RepositoryImpl { + + private static CustomerRepository instance; + + public static CustomerRepository getInstance() { + if (instance == null) { + instance = new CustomerRepository(); + } + return instance; + } + + public CustomerRepository() { + super(new ArrayList<>()); + save(new Customer(getSize(), "Алексей", 10000.0)); + save(new Customer(getSize(), "Константин", 100.0)); + } + + public Customer findByName(String name) throws Exception { + List allCustomer = findAll(); + for (Customer customer : allCustomer) { + if (customer.getName().equals(name)) + return customer; + } + throw new Exception("Покупателя с таким именем не найдено."); + } +} From b22df40c369c586c79a894f9c5529eb6e3023180 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 19:21:02 +0300 Subject: [PATCH 038/101] Create OrderRepository.java --- .../task2/repositories/OrderRepository.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java new file mode 100644 index 00000000..dabbe8b8 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java @@ -0,0 +1,21 @@ +package ru.tn.courses.vbykov.v1.task2.repositories; + +import ru.tn.courses.vbykov.v1.task2.models.Order; + +import java.util.ArrayList; + +public class OrderRepository extends RepositoryImpl { + + private static OrderRepository instance; + + public static OrderRepository getInstance(){ + if(instance == null){ + instance = new OrderRepository(); + } + return instance; + } + + public OrderRepository() { + super(new ArrayList<>()); + } +} From 2853e95e2f2519e310a22e48e57c8bf6f75795db Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 19:22:36 +0300 Subject: [PATCH 039/101] Create ProductRepository.java --- .../task2/repositories/ProductRepository.java | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java new file mode 100644 index 00000000..0f63c6fd --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java @@ -0,0 +1,52 @@ +package ru.tn.courses.vbykov.v1.task2.repositories; + +import ru.tn.courses.vbykov.v1.task2.enums.BrandEnum; +import ru.tn.courses.vbykov.v1.task2.enums.ColorEnum; +import ru.tn.courses.vbykov.v1.task2.enums.DriveEnum; +import ru.tn.courses.vbykov.v1.task2.enums.TransmissionEnum; +import ru.tn.courses.vbykov.v1.task2.models.Car; +import ru.tn.courses.vbykov.v1.task2.models.Product; + +import java.util.ArrayList; + +public class ProductRepository extends RepositoryImpl { + + private static ProductRepository instance; + public static ProductRepository getInstance(){ + if(instance == null){ + instance = new ProductRepository(); + } + return instance; + } + + private ProductRepository() { + super(new ArrayList<>()); + save( + new Car( + getSize(), + ColorEnum.BLUE.getValue(), + BrandEnum.VAZ.getValue(), + 1500, + TransmissionEnum.AUTOMATIC.getValue(), + DriveEnum.FRONT.getValue(), + 8)); + save( + new Car( + getSize(), + ColorEnum.GREEN.getValue(), + BrandEnum.AUDI.getValue(), + 1500, + TransmissionEnum.MANUAL.getValue(), + DriveEnum.REAR.getValue(), + 10)); + save( + new Car( + getSize(), + ColorEnum.BLUE.getValue(), + BrandEnum.BMW.getValue(), + 2000, + TransmissionEnum.AUTOMATIC.getValue(), + DriveEnum.FRONT.getValue(), + 15)); + } +} From ad59623ff8e901d244aee3a689bee69b7ff61095 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 19:23:45 +0300 Subject: [PATCH 040/101] Create Repository.java --- .../vbykov/v1/task2/repositories/Repository.java | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java new file mode 100644 index 00000000..3fb3b57c --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java @@ -0,0 +1,11 @@ +package ru.tn.courses.vbykov.v1.task2.repositories; + +import java.util.List; + +public interface Repository { + List findAll(); + void save(T var); + void update(T var, Integer id); + T findById(Integer id); + Integer getSize(); +} From d4a4c684034c347b4deb871ae3d422df203946f8 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 1 Dec 2021 19:26:12 +0300 Subject: [PATCH 041/101] Create RepositoryImpl.java --- .../v1/task2/repositories/RepositoryImpl.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java new file mode 100644 index 00000000..a8110fb9 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java @@ -0,0 +1,37 @@ +package ru.tn.courses.vbykov.v1.task2.repositories; + +import java.util.List; + +public class RepositoryImpl implements Repository< + private List repository; + + public RepositoryImpl(List + this. + } + + @Override + public List + return repository; + } + + @Override + public void save(T + repository.add( + } + + @Override + public void update(T var, Integer id) { + repository.set(id, var); + } + + + @Override + public T findById(Integer id) { + return repository.get(id); + } + + @Override + public Integer getSize() { + return repository.size(); + } +} From 8f8ebaff2556760aa114c1186bf9b38e2035ba93 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 16:58:45 +0300 Subject: [PATCH 042/101] Delete src/main/java/ru/tn/courses/vbykov/v1/task2 directory --- .../v1/task2/business/InternetShop.java | 15 --- .../vbykov/v1/task2/business/MyShop.java | 89 ------------------ .../vbykov/v1/task2/enums/BrandEnum.java | 16 ---- .../courses/vbykov/v1/task2/enums/ColorEnum | 15 --- .../vbykov/v1/task2/enums/DriveEnum.java | 15 --- .../v1/task2/enums/OrderDescriptionEnum.java | 15 --- .../v1/task2/enums/TransmissionEnum.java | 17 ---- .../courses/vbykov/v1/task2/models/Car.java | 53 ----------- .../vbykov/v1/task2/models/Customer.java | 33 ------- .../courses/vbykov/v1/task2/models/Model.java | 18 ---- .../courses/vbykov/v1/task2/models/Order.java | 73 -------------- .../vbykov/v1/task2/models/Product.java | 33 ------- .../repositories/CustomerRepository.java | 33 ------- .../task2/repositories/OrderRepository.java | 21 ----- .../task2/repositories/ProductRepository.java | 52 ---------- .../v1/task2/repositories/Repository.java | 11 --- .../v1/task2/repositories/RepositoryImpl.java | 37 -------- .../tn/courses/vbykov/v1/task2/subtask.java | 94 ------------------- 18 files changed, 640 deletions(-) delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/business/InternetShop.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/business/MyShop.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DriveEnum.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/subtask.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/business/InternetShop.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/business/InternetShop.java deleted file mode 100644 index 96ee6798..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/business/InternetShop.java +++ /dev/null @@ -1,15 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.business; - -import ru.tn.courses.vbykov.v1.task2.models.Order; -import ru.tn.courses.vbykov.v1.task2.models.Product; - -import java.util.List; - -public interface InternetShop { - - Order createOrder(Integer productId, String customer) throws Exception; - Order payment(Integer orderId) throws Exception; - Order returnProduct(Integer orderId) throws Exception; - Order modifOrder(Integer orderId, Integer productId) throws Exception; - List catalog(); -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/business/MyShop.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/business/MyShop.java deleted file mode 100644 index 4bd1f87e..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/business/MyShop.java +++ /dev/null @@ -1,89 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.business; - -import ru.tn.courses.vbykov.v1.task2.enums.OrderDescriptionEnum; -import ru.tn.courses.vbykov.v1.task2.models.Customer; -import ru.tn.courses.vbykov.v1.task2.models.Order; -import ru.tn.courses.vbykov.v1.task2.models.Product; -import ru.tn.courses.vbykov.v1.task2.repositories.CustomerRepository; -import ru.tn.courses.vbykov.v1.task2.repositories.OrderRepository; -import ru.tn.courses.vbykov.v1.task2.repositories.ProductRepository; - -import java.time.LocalDate; -import java.util.List; - -public class MyShop implements InternetShop { - OrderRepository orderRepository = OrderRepository.getInstance(); - ProductRepository productRepository = ProductRepository.getInstance(); - CustomerRepository customerRepository = CustomerRepository.getInstance(); - - @Override - public Order createOrder(Integer productId, String customerName) throws Exception { - Customer customer = customerRepository.findByName(customerName); - try { - Product product = productRepository.findById(productId); - Order order = - new Order(orderRepository.getSize(), customer, product, OrderDescriptionEnum.CREATE.getValue()); - orderRepository.save(order); - return order; - } catch (Exception e) { - throw new Exception("товар с таким id не найден"); - } - } - - @Override - public Order payment(Integer orderId) throws Exception { - try { - Order order = orderRepository.findById(orderId); - order.setDescription(OrderDescriptionEnum.BUY.getValue()); - Customer customer = customerRepository.findById(order.getCustomer().getId()); - Product product = productRepository.findById(order.getProduct().getId()); - if (product.getCount() > 0) { - product.setCount(product.getCount() - 1); - } else { - throw new Exception("товара больше нет"); - } - if (order.getProduct().getPrice() > customer.getMoney()) { - throw new Exception("на вашем счете недосаточного денег"); - } - productRepository.update(product, product.getId()); - order.setPayment(order.getProduct().getPrice()); - customer.setMoney(customer.getMoney() - order.getProduct().getPrice()); - customerRepository.update(customer, customer.getId()); - - return order; - } catch (IndexOutOfBoundsException e) { - throw new Exception("заказ с таким id не найден"); - } - } - - @Override - public Order returnProduct(Integer orderId) throws Exception { - try { - Order order = orderRepository.findById(orderId); - order.setDescription(OrderDescriptionEnum.RETURN.getValue()); - orderRepository.update(order, orderId); - return order; - } catch (Exception e) { - throw new Exception("заказа с таким id не найдено."); - } - } - - @Override - public Order modifOrder(Integer orderId, Integer newProductId) throws Exception { - try { - Product newProduct = productRepository.findById(newProductId); - Order order = orderRepository.findById(orderId); - order.setModified(LocalDate.now()); - order.setProduct(newProduct); - order.setDescription(OrderDescriptionEnum.MODIF.getValue()); - return order; - } catch (Exception e) { - throw new Exception("товар или заказ с таким id не найдено"); - } - } - - @Override - public List catalog() { - return productRepository.findAll(); - } -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java deleted file mode 100644 index d78cedd7..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java +++ /dev/null @@ -1,16 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.enums; - -public enum BrandEnum { - KIA("киа"), Lada("лада"), BMW("бмв"); - - private final String value; - - BrandEnum(String value) { - this.value = value; - } - - public String getValue() { - return value; - } - -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum deleted file mode 100644 index 248d5656..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum +++ /dev/null @@ -1,15 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.enums; - -public enum ColorEnum{ - RED("красный"), GREEN("зеленый"), BLUE("синий"); - - private final String value; - - ColorEnum(String value) { - this.value = value; - } - - public String getValue() { - return value; - } -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DriveEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DriveEnum.java deleted file mode 100644 index 5afe461e..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DriveEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.enums; - -public enum DriveEnum { - FULL("полный привод"), FRONT("передний привод"), REAR("задний привод"); - - private final String value; - - DriveEnum(String value) { - this.value = value; - } - - public String getValue() { - return value; - } -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java deleted file mode 100644 index 869781ae..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java +++ /dev/null @@ -1,15 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.enums; - -public enum OrderDescriptionEnum { - CREATE("Создание заказа"), RETURN("возврат продукта"), MODIF("изменение заказа"), BUY("произведена покупка"); - - private final String value; - - OrderDescriptionEnum(String value) { - this.value = value; - } - - public String getValue() { - return value; - } -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java deleted file mode 100644 index b4d2c07f..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java +++ /dev/null @@ -1,17 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.enums; - -public enum TransmissionEnum { - - MANUAL("механическая"), AUTOMATIC("автоматическая"); - - private final String value; - - TransmissionEnum(String value) { - this.value = value; - } - - public String getValue() { - return value; - } - -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java deleted file mode 100644 index b6cca8dc..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.models; - -public class Car extends Product { - private String color; - private String brand; - private String transmission; - private String drive; - - public Car(Integer id, String color, String brand, double price, String transmission, String drive, int count) { - super(id, price, count); - this.color = color; - this.brand = brand; - this.transmission = transmission; - this.drive = drive; - } - - public String getColor() { - return color; - } - - public void setColor(String color) { - this.color = color; - } - - public String getBrand() { - return brand; - } - - public void setBrand(String brand) { - this.brand = brand; - } - - public String getTransmission() { - return transmission; - } - - public void setTransmission(String transmission) { - this.transmission = transmission; - } - - public String getDrive() { - return drive; - } - - public void setDrive(String drive) { - this.drive = drive; - } - - @Override - public String toString() { - return super.toString() + "; color : " + color + "; brand: " + brand + "; transmission: " + transmission + "; drive: " + drive + "\n"; - } -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java deleted file mode 100644 index 89793636..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java +++ /dev/null @@ -1,33 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.models; - -public class Customer extends Model{ - String name; - Double money; - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Double getMoney() { - return money; - } - - public void setMoney(Double money) { - this.money = money; - } - - public Customer(Integer id, String name, Double money) { - super(id); - this.name = name; - this.money = money; - } - - @Override - public String toString() { - return super.toString() + "; name: " + name + "; money: " + money + "\n"; - } -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java deleted file mode 100644 index c9dcaa40..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java +++ /dev/null @@ -1,18 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.models; - -public class Model { - private Integer id; - - public Integer getId() { - return id; - } - - public Model(Integer id) { - this.id = id; - } - - @Override - public String toString() { - return "id: " + id; - } -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java deleted file mode 100644 index 17e4abaf..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java +++ /dev/null @@ -1,73 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.models; - -import java.time.LocalDate; - -public class Order extends Model { - - private Customer customer; - private LocalDate created; - private LocalDate modified; - private Product product; - private String description; - private double payment; - - public double getPayment() { - return payment; - } - - public void setPayment(double payment) { - this.payment = payment; - } - - public Order(Integer id, Customer customer, Product product, String description) { - super(id); - this.customer = customer; - this.created = LocalDate.now(); - this.modified = LocalDate.now(); - this.product = product; - this.description = description; - } - - public Customer getCustomer() { - return customer; - } - - public Product getProduct() { - return product; - } - - - public void setProduct(Product product) { - this.product = product; - } - - public void setCustomer(Customer customer) { - this.customer = customer; - } - - public LocalDate getModified() { - return modified; - } - - public void setModified(LocalDate modified) { - this.modified = modified; - } - - public LocalDate getCreated() { - return created; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } - - @Override - public String toString() { - return super.toString() + "; customer: " + customer.name + "; created: " + created + "; product: {" + product + - "}; description: " + description + "\n"; - } -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java deleted file mode 100644 index ecd5af59..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java +++ /dev/null @@ -1,33 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.models; - -public class Product extends Model{ - private double price; - private int count; - - public Product(Integer id, double price, int count) { - super(id); - this.price = price; - this.count = count; - } - - public double getPrice() { - return price; - } - - public void setPrice(double price) { - this.price = price; - } - - public int getCount() { - return count; - } - - public void setCount(int count) { - this.count = count; - } - - @Override - public String toString() { - return super.toString() + "; price: " + price + "; count: "+ count; - } -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java deleted file mode 100644 index c049aef5..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java +++ /dev/null @@ -1,33 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.repositories; - -import ru.tn.courses.vbykov.v1.task2.models.Customer; - -import java.util.ArrayList; -import java.util.List; - -public class CustomerRepository extends RepositoryImpl { - - private static CustomerRepository instance; - - public static CustomerRepository getInstance() { - if (instance == null) { - instance = new CustomerRepository(); - } - return instance; - } - - public CustomerRepository() { - super(new ArrayList<>()); - save(new Customer(getSize(), "Алексей", 10000.0)); - save(new Customer(getSize(), "Константин", 100.0)); - } - - public Customer findByName(String name) throws Exception { - List allCustomer = findAll(); - for (Customer customer : allCustomer) { - if (customer.getName().equals(name)) - return customer; - } - throw new Exception("Покупателя с таким именем не найдено."); - } -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java deleted file mode 100644 index dabbe8b8..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java +++ /dev/null @@ -1,21 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.repositories; - -import ru.tn.courses.vbykov.v1.task2.models.Order; - -import java.util.ArrayList; - -public class OrderRepository extends RepositoryImpl { - - private static OrderRepository instance; - - public static OrderRepository getInstance(){ - if(instance == null){ - instance = new OrderRepository(); - } - return instance; - } - - public OrderRepository() { - super(new ArrayList<>()); - } -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java deleted file mode 100644 index 0f63c6fd..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java +++ /dev/null @@ -1,52 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.repositories; - -import ru.tn.courses.vbykov.v1.task2.enums.BrandEnum; -import ru.tn.courses.vbykov.v1.task2.enums.ColorEnum; -import ru.tn.courses.vbykov.v1.task2.enums.DriveEnum; -import ru.tn.courses.vbykov.v1.task2.enums.TransmissionEnum; -import ru.tn.courses.vbykov.v1.task2.models.Car; -import ru.tn.courses.vbykov.v1.task2.models.Product; - -import java.util.ArrayList; - -public class ProductRepository extends RepositoryImpl { - - private static ProductRepository instance; - public static ProductRepository getInstance(){ - if(instance == null){ - instance = new ProductRepository(); - } - return instance; - } - - private ProductRepository() { - super(new ArrayList<>()); - save( - new Car( - getSize(), - ColorEnum.BLUE.getValue(), - BrandEnum.VAZ.getValue(), - 1500, - TransmissionEnum.AUTOMATIC.getValue(), - DriveEnum.FRONT.getValue(), - 8)); - save( - new Car( - getSize(), - ColorEnum.GREEN.getValue(), - BrandEnum.AUDI.getValue(), - 1500, - TransmissionEnum.MANUAL.getValue(), - DriveEnum.REAR.getValue(), - 10)); - save( - new Car( - getSize(), - ColorEnum.BLUE.getValue(), - BrandEnum.BMW.getValue(), - 2000, - TransmissionEnum.AUTOMATIC.getValue(), - DriveEnum.FRONT.getValue(), - 15)); - } -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java deleted file mode 100644 index 3fb3b57c..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java +++ /dev/null @@ -1,11 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.repositories; - -import java.util.List; - -public interface Repository { - List findAll(); - void save(T var); - void update(T var, Integer id); - T findById(Integer id); - Integer getSize(); -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java deleted file mode 100644 index a8110fb9..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java +++ /dev/null @@ -1,37 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.repositories; - -import java.util.List; - -public class RepositoryImpl implements Repository< - private List repository; - - public RepositoryImpl(List - this. - } - - @Override - public List - return repository; - } - - @Override - public void save(T - repository.add( - } - - @Override - public void update(T var, Integer id) { - repository.set(id, var); - } - - - @Override - public T findById(Integer id) { - return repository.get(id); - } - - @Override - public Integer getSize() { - return repository.size(); - } -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/subtask.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/subtask.java deleted file mode 100644 index 0e3b1718..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/subtask.java +++ /dev/null @@ -1,94 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2; - -import ru.tn.courses.vbykov.v1.task2.business.InternetShop; -import ru.tn.courses.vbykov.v1.task2.business.MyShop; -import ru.tn.courses.vbykov.v1.task2.models.Customer; -import ru.tn.courses.vbykov.v1.task2.repositories.CustomerRepository; -import ru.tn.courses.vbykov.v1.task2.repositories.OrderRepository; - -import java.util.Scanner; - -public class subtask { - - /** - * - Необходимо разработать модель (класс) описывающий товар из интернет магазина (можно взять на свой выбор: - * телефоны, машины). - Необходимо разработать интерфейс для обработки заказов интернет магазина. - Реализовать - * классы обработки событий: создание заказа, изменения по заказу, возврат заказа. - Необходимо оформить все - * перечисления через enum - Вынести общую логику в абстракцию - */ - public static void main(String[] args) { - - OrderRepository orderRepository = OrderRepository.getInstance(); - CustomerRepository customerRepository = CustomerRepository.getInstance(); - - InternetShop shop = new MyShop(); - Scanner scanner = new Scanner(System.in); - - System.out.println("введите команду: \n" + "exit: выйти\n" + "help: справка\n" + "create: создать заказ\n" + - "return: вернуть товар\n" + "modif: изменить заказ\n" + "payment: оплатить\n" + - "catalog: вывести католог товаров\n" + "orders: вывести список заказов\n"); - while (true) { - try { - switch (scanner.nextLine()) { - case "help": - System.out.println("exit: выйти\n" + "help: справка\n" + "create: создать заказ\n" + - "return: вернуть товар\n" + "modif: изменить заказ\n" + - "payment: оплатить\n" + "catalog: вывести католог товаров\n" + - "orders: вывести список заказов\n" + "reg: регистрация пользователя\n" + - "users: список пользователей"); - break; - case "exit": - System.exit(1); - break; - case "create": - System.out.println("введите свое имя: "); - String customerName = scanner.nextLine(); - System.out.println("выберите товар который хотите купить: (введите id товара для покупки)"); - System.out.println(shop.catalog()); - shop.createOrder(Integer.valueOf(scanner.nextLine()), customerName); - System.out.println("Заказ был успешно создан"); - break; - case "orders": - System.out.println(orderRepository.findAll()); - break; - case "catalog": - System.out.println(shop.catalog()); - break; - case "modif": - System.out.println("введите id заказа"); - Integer orderId = Integer.valueOf(scanner.nextLine()); - System.out.println("выберите товар который хотите купить:"); - System.out.println(shop.catalog()); - shop.modifOrder(orderId, Integer.valueOf(scanner.nextLine())); - System.out.println("заказ успешно изменен"); - break; - case "payment": - System.out.println("введите id заказа"); - orderId = Integer.valueOf(scanner.nextLine()); - shop.payment(orderId); - System.out.println("оплата успешно произведена"); - break; - case "return": - System.out.println("введите id заказа:"); - shop.returnProduct(Integer.valueOf(scanner.nextLine())); - System.out.println("возврат успешно выполнен"); - break; - case "reg": - System.out.println("введите имя"); - String name = scanner.nextLine(); - System.out.println("введите скок денег на счету XD"); - customerRepository.save(new Customer(customerRepository.getSize(), name, Double.valueOf(scanner.nextLine()))); - System.out.println("пользователь успешно создан"); - break; - case "users": - System.out.println(customerRepository.findAll()); - break; - default: - System.out.println("команда не понятна, help - справка"); - } - } catch (Exception e) { - System.out.println(e.getMessage()); - } - } - } -} From 8b8b1b33f46983d2a1e297ba5c1870925555c9f0 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:01:52 +0300 Subject: [PATCH 043/101] Create Subtask.java --- .../tn/courses/vbykov/v1/task2/Subtask.java | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/Subtask.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/Subtask.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/Subtask.java new file mode 100644 index 00000000..e0de866b --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/Subtask.java @@ -0,0 +1,94 @@ +package ru.tn.courses.vbykov.v1.task2; + +import ru.tn.courses.vbykov.v1.task2.business.InternetShop; +import ru.tn.courses.vbykov.v1.task2.business.MyShop; +import ru.tn.courses.vbykov.v1.task2.models.Customer; +import ru.tn.courses.vbykov.v1.task2.repositories.CustomerRepository; +import ru.tn.courses.vbykov.v1.task2.repositories.OrderRepository; + +import java.util.Scanner; + +public class Subtask { + + /** + * - Необходимо разработать модель (класс) описывающий товар из интернет магазина (можно взять на свой выбор: + * телефоны, машины). - Необходимо разработать интерфейс для обработки заказов интернет магазина. - Реализовать + * классы обработки событий: создание заказа, изменения по заказу, возврат заказа. - Необходимо оформить все + * перечисления через enum - Вынести общую логику в абстракцию + **/ + public static void main(String[] args) { + + OrderRepository orderRepository = OrderRepository.getInstance(); + CustomerRepository customerRepository = CustomerRepository.getInstance(); + + InternetShop shop = new MyShop(); + Scanner scanner = new Scanner(System.in); + + System.out.println("введите команду: \n" + "exit: выйти\n" + "help: справка\n" + "create: создать заказ\n" + + "return: вернуть товар\n" + "modif: изменить заказ\n" + "payment: оплатить\n" + + "catalog: вывести католог товаров\n" + "orders: вывести список заказов\n"); + while (true) { + try { + switch (scanner.nextLine()) { + case "help": + System.out.println("exit: выйти\n" + "help: справка\n" + "create: создать заказ\n" + + "return: вернуть товар\n" + "modif: изменить заказ\n" + + "payment: оплатить\n" + "catalog: вывести католог товаров\n" + + "orders: вывести список заказов\n" + "reg: регистрация пользователя\n" + + "users: список пользователей"); + break; + case "exit": + System.exit(1); + break; + case "create": + System.out.println("введите свое имя: "); + String customerName = scanner.nextLine(); + System.out.println("выберите товар который хотите купить: (введите id товара для покупки)"); + System.out.println(shop.catalog()); + shop.createOrder(Integer.valueOf(scanner.nextLine()), customerName); + System.out.println("Заказ был успешно создан"); + break; + case "orders": + System.out.println(orderRepository.findAll()); + break; + case "catalog": + System.out.println(shop.catalog()); + break; + case "modif": + System.out.println("введите id заказа"); + Integer orderId = Integer.valueOf(scanner.nextLine()); + System.out.println("выберите товар который хотите купить:"); + System.out.println(shop.catalog()); + shop.modifOrder(orderId, Integer.valueOf(scanner.nextLine())); + System.out.println("заказ успешно изменен"); + break; + case "payment": + System.out.println("введите id заказа"); + orderId = Integer.valueOf(scanner.nextLine()); + shop.payment(orderId); + System.out.println("оплата успешно произведена"); + break; + case "return": + System.out.println("введите id заказа:"); + shop.returnProduct(Integer.valueOf(scanner.nextLine())); + System.out.println("возврат успешно выполнен"); + break; + case "reg": + System.out.println("введите имя"); + String name = scanner.nextLine(); + System.out.println("введите скок денег на счету XD"); + customerRepository.save(new Customer(customerRepository.getSize(), name, Double.valueOf(scanner.nextLine()))); + System.out.println("пользователь успешно создан"); + break; + case "users": + System.out.println(customerRepository.findAll()); + break; + default: + System.out.println("команда не понятна, help - справка"); + } + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } + } +} From 17a01e7228aadceb5aeefd58fcf89ad3efda1b1d Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:03:17 +0300 Subject: [PATCH 044/101] Create InternetShop.java --- .../vbykov/v1/task2/businees/InternetShop.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/businees/InternetShop.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/businees/InternetShop.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/businees/InternetShop.java new file mode 100644 index 00000000..96ee6798 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/businees/InternetShop.java @@ -0,0 +1,15 @@ +package ru.tn.courses.vbykov.v1.task2.business; + +import ru.tn.courses.vbykov.v1.task2.models.Order; +import ru.tn.courses.vbykov.v1.task2.models.Product; + +import java.util.List; + +public interface InternetShop { + + Order createOrder(Integer productId, String customer) throws Exception; + Order payment(Integer orderId) throws Exception; + Order returnProduct(Integer orderId) throws Exception; + Order modifOrder(Integer orderId, Integer productId) throws Exception; + List catalog(); +} From a1852a04f99df152130fe035738d2ee946aa746c Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:05:14 +0300 Subject: [PATCH 045/101] Create MyShop.java --- .../vbykov/v1/task2/businees/MyShop.java | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/businees/MyShop.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/businees/MyShop.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/businees/MyShop.java new file mode 100644 index 00000000..4bd1f87e --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/businees/MyShop.java @@ -0,0 +1,89 @@ +package ru.tn.courses.vbykov.v1.task2.business; + +import ru.tn.courses.vbykov.v1.task2.enums.OrderDescriptionEnum; +import ru.tn.courses.vbykov.v1.task2.models.Customer; +import ru.tn.courses.vbykov.v1.task2.models.Order; +import ru.tn.courses.vbykov.v1.task2.models.Product; +import ru.tn.courses.vbykov.v1.task2.repositories.CustomerRepository; +import ru.tn.courses.vbykov.v1.task2.repositories.OrderRepository; +import ru.tn.courses.vbykov.v1.task2.repositories.ProductRepository; + +import java.time.LocalDate; +import java.util.List; + +public class MyShop implements InternetShop { + OrderRepository orderRepository = OrderRepository.getInstance(); + ProductRepository productRepository = ProductRepository.getInstance(); + CustomerRepository customerRepository = CustomerRepository.getInstance(); + + @Override + public Order createOrder(Integer productId, String customerName) throws Exception { + Customer customer = customerRepository.findByName(customerName); + try { + Product product = productRepository.findById(productId); + Order order = + new Order(orderRepository.getSize(), customer, product, OrderDescriptionEnum.CREATE.getValue()); + orderRepository.save(order); + return order; + } catch (Exception e) { + throw new Exception("товар с таким id не найден"); + } + } + + @Override + public Order payment(Integer orderId) throws Exception { + try { + Order order = orderRepository.findById(orderId); + order.setDescription(OrderDescriptionEnum.BUY.getValue()); + Customer customer = customerRepository.findById(order.getCustomer().getId()); + Product product = productRepository.findById(order.getProduct().getId()); + if (product.getCount() > 0) { + product.setCount(product.getCount() - 1); + } else { + throw new Exception("товара больше нет"); + } + if (order.getProduct().getPrice() > customer.getMoney()) { + throw new Exception("на вашем счете недосаточного денег"); + } + productRepository.update(product, product.getId()); + order.setPayment(order.getProduct().getPrice()); + customer.setMoney(customer.getMoney() - order.getProduct().getPrice()); + customerRepository.update(customer, customer.getId()); + + return order; + } catch (IndexOutOfBoundsException e) { + throw new Exception("заказ с таким id не найден"); + } + } + + @Override + public Order returnProduct(Integer orderId) throws Exception { + try { + Order order = orderRepository.findById(orderId); + order.setDescription(OrderDescriptionEnum.RETURN.getValue()); + orderRepository.update(order, orderId); + return order; + } catch (Exception e) { + throw new Exception("заказа с таким id не найдено."); + } + } + + @Override + public Order modifOrder(Integer orderId, Integer newProductId) throws Exception { + try { + Product newProduct = productRepository.findById(newProductId); + Order order = orderRepository.findById(orderId); + order.setModified(LocalDate.now()); + order.setProduct(newProduct); + order.setDescription(OrderDescriptionEnum.MODIF.getValue()); + return order; + } catch (Exception e) { + throw new Exception("товар или заказ с таким id не найдено"); + } + } + + @Override + public List catalog() { + return productRepository.findAll(); + } +} From e6ec9db59f702521164ac06977d8eb02fb6157e5 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:06:45 +0300 Subject: [PATCH 046/101] Create BrandEnum.java --- .../courses/vbykov/v1/task2/enums/BrandEnum.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java new file mode 100644 index 00000000..d78cedd7 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java @@ -0,0 +1,16 @@ +package ru.tn.courses.vbykov.v1.task2.enums; + +public enum BrandEnum { + KIA("киа"), Lada("лада"), BMW("бмв"); + + private final String value; + + BrandEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + +} From 0498ffc69d41665e46f5ab89ddc7a2c4cd0764fb Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:07:36 +0300 Subject: [PATCH 047/101] Create ColorEnum.java --- .../courses/vbykov/v1/task2/enums/ColorEnum.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum.java new file mode 100644 index 00000000..248d5656 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum.java @@ -0,0 +1,15 @@ +package ru.tn.courses.vbykov.v1.task2.enums; + +public enum ColorEnum{ + RED("красный"), GREEN("зеленый"), BLUE("синий"); + + private final String value; + + ColorEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } +} From a9c81299cb6527694df2fe6504a2542e7feac287 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:08:21 +0300 Subject: [PATCH 048/101] Create DriveEnum.java --- .../courses/vbykov/v1/task2/enums/DriveEnum.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DriveEnum.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DriveEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DriveEnum.java new file mode 100644 index 00000000..5afe461e --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DriveEnum.java @@ -0,0 +1,15 @@ +package ru.tn.courses.vbykov.v1.task2.enums; + +public enum DriveEnum { + FULL("полный привод"), FRONT("передний привод"), REAR("задний привод"); + + private final String value; + + DriveEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } +} From d1600b99328c968c18e1c463c841a1ca30b99629 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:08:57 +0300 Subject: [PATCH 049/101] Create OrderDescriptionEnum.java --- .../v1/task2/enums/OrderDescriptionEnum.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java new file mode 100644 index 00000000..869781ae --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java @@ -0,0 +1,15 @@ +package ru.tn.courses.vbykov.v1.task2.enums; + +public enum OrderDescriptionEnum { + CREATE("Создание заказа"), RETURN("возврат продукта"), MODIF("изменение заказа"), BUY("произведена покупка"); + + private final String value; + + OrderDescriptionEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } +} From 240ac56547675e56ae2867e8760e137b5da21eb4 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:09:33 +0300 Subject: [PATCH 050/101] Create TransmissionEnum.java --- .../vbykov/v1/task2/enums/TransmissionEnum.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java new file mode 100644 index 00000000..b4d2c07f --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java @@ -0,0 +1,17 @@ +package ru.tn.courses.vbykov.v1.task2.enums; + +public enum TransmissionEnum { + + MANUAL("механическая"), AUTOMATIC("автоматическая"); + + private final String value; + + TransmissionEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + +} From 0d7c04aedf55a5214aa5dbc64be8abe456d86770 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:13:00 +0300 Subject: [PATCH 051/101] Create Car.java --- .../courses/vbykov/v1/task2/models/Car.java | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java new file mode 100644 index 00000000..b6cca8dc --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java @@ -0,0 +1,53 @@ +package ru.tn.courses.vbykov.v1.task2.models; + +public class Car extends Product { + private String color; + private String brand; + private String transmission; + private String drive; + + public Car(Integer id, String color, String brand, double price, String transmission, String drive, int count) { + super(id, price, count); + this.color = color; + this.brand = brand; + this.transmission = transmission; + this.drive = drive; + } + + public String getColor() { + return color; + } + + public void setColor(String color) { + this.color = color; + } + + public String getBrand() { + return brand; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public String getTransmission() { + return transmission; + } + + public void setTransmission(String transmission) { + this.transmission = transmission; + } + + public String getDrive() { + return drive; + } + + public void setDrive(String drive) { + this.drive = drive; + } + + @Override + public String toString() { + return super.toString() + "; color : " + color + "; brand: " + brand + "; transmission: " + transmission + "; drive: " + drive + "\n"; + } +} From ea0c6b3f15be97aa184c02af9b04322ff7e4a213 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:13:30 +0300 Subject: [PATCH 052/101] Create Customer.java --- .../vbykov/v1/task2/models/Customer.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java new file mode 100644 index 00000000..89793636 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java @@ -0,0 +1,33 @@ +package ru.tn.courses.vbykov.v1.task2.models; + +public class Customer extends Model{ + String name; + Double money; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Double getMoney() { + return money; + } + + public void setMoney(Double money) { + this.money = money; + } + + public Customer(Integer id, String name, Double money) { + super(id); + this.name = name; + this.money = money; + } + + @Override + public String toString() { + return super.toString() + "; name: " + name + "; money: " + money + "\n"; + } +} From 3d2053273a7dcf78830bb4df75f39d497060f4de Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:15:50 +0300 Subject: [PATCH 053/101] Create Model.java --- .../courses/vbykov/v1/task2/models/Model.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java new file mode 100644 index 00000000..c9dcaa40 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java @@ -0,0 +1,18 @@ +package ru.tn.courses.vbykov.v1.task2.models; + +public class Model { + private Integer id; + + public Integer getId() { + return id; + } + + public Model(Integer id) { + this.id = id; + } + + @Override + public String toString() { + return "id: " + id; + } +} From 8429d400712dcabc11194aab67c0af5f95ff792e Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:16:36 +0300 Subject: [PATCH 054/101] Create Order.java --- .../courses/vbykov/v1/task2/models/Order.java | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java new file mode 100644 index 00000000..17e4abaf --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java @@ -0,0 +1,73 @@ +package ru.tn.courses.vbykov.v1.task2.models; + +import java.time.LocalDate; + +public class Order extends Model { + + private Customer customer; + private LocalDate created; + private LocalDate modified; + private Product product; + private String description; + private double payment; + + public double getPayment() { + return payment; + } + + public void setPayment(double payment) { + this.payment = payment; + } + + public Order(Integer id, Customer customer, Product product, String description) { + super(id); + this.customer = customer; + this.created = LocalDate.now(); + this.modified = LocalDate.now(); + this.product = product; + this.description = description; + } + + public Customer getCustomer() { + return customer; + } + + public Product getProduct() { + return product; + } + + + public void setProduct(Product product) { + this.product = product; + } + + public void setCustomer(Customer customer) { + this.customer = customer; + } + + public LocalDate getModified() { + return modified; + } + + public void setModified(LocalDate modified) { + this.modified = modified; + } + + public LocalDate getCreated() { + return created; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + @Override + public String toString() { + return super.toString() + "; customer: " + customer.name + "; created: " + created + "; product: {" + product + + "}; description: " + description + "\n"; + } +} From 77bf3af9b984e0f15e2d1d75c08fa64ce1001042 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:21:15 +0300 Subject: [PATCH 055/101] Create Product.java --- .../vbykov/v1/task2/models/Product.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java new file mode 100644 index 00000000..ecd5af59 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java @@ -0,0 +1,33 @@ +package ru.tn.courses.vbykov.v1.task2.models; + +public class Product extends Model{ + private double price; + private int count; + + public Product(Integer id, double price, int count) { + super(id); + this.price = price; + this.count = count; + } + + public double getPrice() { + return price; + } + + public void setPrice(double price) { + this.price = price; + } + + public int getCount() { + return count; + } + + public void setCount(int count) { + this.count = count; + } + + @Override + public String toString() { + return super.toString() + "; price: " + price + "; count: "+ count; + } +} From d7c592158729f436c45f8cf2bc4548b21cca2497 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:22:51 +0300 Subject: [PATCH 056/101] Create Repository.java --- .../vbykov/v1/task2/repositories/Repository.java | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java new file mode 100644 index 00000000..3fb3b57c --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java @@ -0,0 +1,11 @@ +package ru.tn.courses.vbykov.v1.task2.repositories; + +import java.util.List; + +public interface Repository { + List findAll(); + void save(T var); + void update(T var, Integer id); + T findById(Integer id); + Integer getSize(); +} From 35fbb9104bcf8dbc964df4113e83395f10c495a1 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:23:30 +0300 Subject: [PATCH 057/101] Create RepositoryImpl.java --- .../v1/task2/repositories/RepositoryImpl.java | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java new file mode 100644 index 00000000..a8110fb9 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java @@ -0,0 +1,37 @@ +package ru.tn.courses.vbykov.v1.task2.repositories; + +import java.util.List; + +public class RepositoryImpl implements Repository< + private List repository; + + public RepositoryImpl(List + this. + } + + @Override + public List + return repository; + } + + @Override + public void save(T + repository.add( + } + + @Override + public void update(T var, Integer id) { + repository.set(id, var); + } + + + @Override + public T findById(Integer id) { + return repository.get(id); + } + + @Override + public Integer getSize() { + return repository.size(); + } +} From d0a21c3b085a8f43bdbaaaab2612d1b205d78e83 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:24:12 +0300 Subject: [PATCH 058/101] Create ProductRepository.java --- .../task2/repositories/ProductRepository.java | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java new file mode 100644 index 00000000..0f63c6fd --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java @@ -0,0 +1,52 @@ +package ru.tn.courses.vbykov.v1.task2.repositories; + +import ru.tn.courses.vbykov.v1.task2.enums.BrandEnum; +import ru.tn.courses.vbykov.v1.task2.enums.ColorEnum; +import ru.tn.courses.vbykov.v1.task2.enums.DriveEnum; +import ru.tn.courses.vbykov.v1.task2.enums.TransmissionEnum; +import ru.tn.courses.vbykov.v1.task2.models.Car; +import ru.tn.courses.vbykov.v1.task2.models.Product; + +import java.util.ArrayList; + +public class ProductRepository extends RepositoryImpl { + + private static ProductRepository instance; + public static ProductRepository getInstance(){ + if(instance == null){ + instance = new ProductRepository(); + } + return instance; + } + + private ProductRepository() { + super(new ArrayList<>()); + save( + new Car( + getSize(), + ColorEnum.BLUE.getValue(), + BrandEnum.VAZ.getValue(), + 1500, + TransmissionEnum.AUTOMATIC.getValue(), + DriveEnum.FRONT.getValue(), + 8)); + save( + new Car( + getSize(), + ColorEnum.GREEN.getValue(), + BrandEnum.AUDI.getValue(), + 1500, + TransmissionEnum.MANUAL.getValue(), + DriveEnum.REAR.getValue(), + 10)); + save( + new Car( + getSize(), + ColorEnum.BLUE.getValue(), + BrandEnum.BMW.getValue(), + 2000, + TransmissionEnum.AUTOMATIC.getValue(), + DriveEnum.FRONT.getValue(), + 15)); + } +} From 1417cec7ebf27bfa9197b1d822b69e51f351cf32 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:24:41 +0300 Subject: [PATCH 059/101] Create OrderRepository.java --- .../task2/repositories/OrderRepository.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java new file mode 100644 index 00000000..dabbe8b8 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java @@ -0,0 +1,21 @@ +package ru.tn.courses.vbykov.v1.task2.repositories; + +import ru.tn.courses.vbykov.v1.task2.models.Order; + +import java.util.ArrayList; + +public class OrderRepository extends RepositoryImpl { + + private static OrderRepository instance; + + public static OrderRepository getInstance(){ + if(instance == null){ + instance = new OrderRepository(); + } + return instance; + } + + public OrderRepository() { + super(new ArrayList<>()); + } +} From ed6c4581d26255f3e514c0a8e5ae15ae50c7f24a Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Tue, 7 Dec 2021 17:25:11 +0300 Subject: [PATCH 060/101] Create CustomerRepository.java --- .../repositories/CustomerRepository.java | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java new file mode 100644 index 00000000..c049aef5 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java @@ -0,0 +1,33 @@ +package ru.tn.courses.vbykov.v1.task2.repositories; + +import ru.tn.courses.vbykov.v1.task2.models.Customer; + +import java.util.ArrayList; +import java.util.List; + +public class CustomerRepository extends RepositoryImpl { + + private static CustomerRepository instance; + + public static CustomerRepository getInstance() { + if (instance == null) { + instance = new CustomerRepository(); + } + return instance; + } + + public CustomerRepository() { + super(new ArrayList<>()); + save(new Customer(getSize(), "Алексей", 10000.0)); + save(new Customer(getSize(), "Константин", 100.0)); + } + + public Customer findByName(String name) throws Exception { + List allCustomer = findAll(); + for (Customer customer : allCustomer) { + if (customer.getName().equals(name)) + return customer; + } + throw new Exception("Покупателя с таким именем не найдено."); + } +} From a4b8e50650ac13ac24f6571655f935a9d73d4e20 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 15:22:20 +0300 Subject: [PATCH 061/101] Update subtask1.java --- .../ru/tn/courses/vbykov/v1/task1/subtask1.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask1.java b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask1.java index 490180fa..a07a1161 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask1.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask1.java @@ -1,31 +1,24 @@ package ru.tn.courses.vbykov.v1.task1; - import java.util.Scanner; public class subtask1 { /** - * Дан массив натуральных чисел. Найти сумму элементов, кратных данному K. + * (Задание 1 варианта) Дан массив натуральных чисел. Найти сумму элементов, кратных данному k. **/ public static void main(String[] args) { - - int[] array = new int[10]; + int[] array = new int[5]; Scanner scanner = new Scanner(System.in); - System.out.println("введите k:"); - int k = scanner.nextInt(); int sum = 0; - - System.out.println("введите массив размера 10:"); - + System.out.println("введите массив размера 5:"); for (int i : array) { array[i] = scanner.nextInt(); if (array[i] % k == 0) { sum += array[i]; } } - - System.out.println("сумма элементов массива кратных числу k = " + sum); + System.out.println("Сумма элементов массива кратных числу k = " + sum); } } From 223966e076999e9417e0d684f6182f65c41317ce Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 15:37:33 +0300 Subject: [PATCH 062/101] Update subtask2.java --- .../java/ru/tn/courses/vbykov/v1/task1/subtask2.java | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java index c68e5654..f9b5f876 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java @@ -1,33 +1,27 @@ package ru.tn.courses.vbykov.v1.task1; - import java.util.Scanner; public class subtask2 { /** - * У прилавка магазина выстроилась очередь из n покупателей. Время обслуживания i-того покупателя равно tj (i = 1, …, n). - * Определить время Ci пребывания i-гo покупателя в очереди. + * У прилавка магазина выстроилась очередь из n покупателей. Время обслуживания i-того покупателя равно tj (i = 1, …, n). Определить время Ci пребывания i-гo покупателя в очереди. **/ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); - System.out.println("Введите длину очереди n:"); - int n = scanner.nextInt(); double[] t = new double[n]; double[] c = new double[n]; - System.out.println("Введите время обслуживания i покупателя:"); - for (int i = 0; i < n; i++) { t[i] = scanner.nextDouble(); if (i == 0) { c[i] = 0; - } else { + } + else { c[i] = c[i - 1] + t[i - 1]; } } - System.out.println("Введите пребывания i покупателя в очереди:"); for (int i = 0; i < n; i++) { System.out.println(i + 1 + " покупатель : " + c[i] + " единиц времени в очереди"); From 0f77f56468915837ec04aa2e8b568c2ed0efb3af Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 15:40:24 +0300 Subject: [PATCH 063/101] Update subtask2.java --- src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java index f9b5f876..dc6fd317 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask2.java @@ -3,7 +3,7 @@ public class subtask2 { /** - * У прилавка магазина выстроилась очередь из n покупателей. Время обслуживания i-того покупателя равно tj (i = 1, …, n). Определить время Ci пребывания i-гo покупателя в очереди. + * (Задание 1 варианта) У прилавка магазина выстроилась очередь из n покупателей. Время обслуживания i-того покупателя равно tj (i = 1, …, n). Определить время Ci пребывания i-гo покупателя в очереди. **/ public static void main(String[] args) { From d48c226b0f407dae8de496ba3a10e39ee770b194 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 15:45:12 +0300 Subject: [PATCH 064/101] Update subtask3.java --- .../java/ru/tn/courses/vbykov/v1/task1/subtask3.java | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java index b684c8fa..1a36e2d3 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task1/subtask3.java @@ -1,33 +1,26 @@ package ru.tn.courses.vbykov.v1.task1; - import java.util.Scanner; public class subtask3 { /** - * Даны две последовательности a1 ≤ a2 ≤ ... ≤ аn и b1 ≤ b2 ≤ ... ≤ bn. Образовать из них новую последовательность - * чисел так, чтобы она тоже была неубывающей (дополнительный массив не использовать). + * (Задание 1 варианта) Даны две последовательности a1 ≤ a2 ≤ ... ≤ аn и b1 ≤ b2 ≤ ... ≤ bn. Образовать из них новую последовательность чисел так, чтобы она тоже была неубывающей (дополнительный массив не использовать). **/ public static void main(String[] args) { int[] a, b; Scanner scanner = new Scanner(System.in); - System.out.println("Введите длину последовательностей n:"); - int n = scanner.nextInt(); a = new int[n]; b = new int[n]; - System.out.println("Введите последовательность a:"); for (int i = 0; i < n; i++) { a[i] = scanner.nextInt(); } - System.out.println("Введите последовательность b:"); for (int i = 0; i < n; i++) { b[i] = scanner.nextInt(); } - System.out.println("Новая последовательность без нового массива:"); for (int i = 0, j = 0; i < n && j < n; j++) { while (i < n && a[i] <= b[j]) { From 86703163d4f58f8544fda1ea24c53bf014ae177f Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 16:04:31 +0300 Subject: [PATCH 065/101] Update Subtask.java --- .../tn/courses/vbykov/v1/task2/Subtask.java | 52 ++++++++----------- 1 file changed, 22 insertions(+), 30 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/Subtask.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/Subtask.java index e0de866b..4beb7c29 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/Subtask.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/Subtask.java @@ -1,49 +1,41 @@ package ru.tn.courses.vbykov.v1.task2; - import ru.tn.courses.vbykov.v1.task2.business.InternetShop; import ru.tn.courses.vbykov.v1.task2.business.MyShop; import ru.tn.courses.vbykov.v1.task2.models.Customer; import ru.tn.courses.vbykov.v1.task2.repositories.CustomerRepository; import ru.tn.courses.vbykov.v1.task2.repositories.OrderRepository; - import java.util.Scanner; public class Subtask { /** - * - Необходимо разработать модель (класс) описывающий товар из интернет магазина (можно взять на свой выбор: - * телефоны, машины). - Необходимо разработать интерфейс для обработки заказов интернет магазина. - Реализовать - * классы обработки событий: создание заказа, изменения по заказу, возврат заказа. - Необходимо оформить все - * перечисления через enum - Вынести общую логику в абстракцию + * (Задание 1 варианта) + * - Необходимо разработать модель (класс) описывающий товар из интернет магазина (можно взять на свой выбор: телефоны, машины). + * - Необходимо разработать интерфейс для обработки заказов интернет магазина. + * - Реализовать классы обработки событий: создание заказа, изменения по заказу, возврат заказа. + * - Необходимо оформить все перечисления через enum + * - Вынести общую логику в абстракцию **/ + public static void main(String[] args) { - OrderRepository orderRepository = OrderRepository.getInstance(); CustomerRepository customerRepository = CustomerRepository.getInstance(); - InternetShop shop = new MyShop(); Scanner scanner = new Scanner(System.in); - - System.out.println("введите команду: \n" + "exit: выйти\n" + "help: справка\n" + "create: создать заказ\n" + - "return: вернуть товар\n" + "modif: изменить заказ\n" + "payment: оплатить\n" + - "catalog: вывести католог товаров\n" + "orders: вывести список заказов\n"); + System.out.println("введите команду: \n" + "exit: выйти\n" + "help: справка\n" + "create: создать заказ\n" + "return: вернуть товар\n" + "modif: изменить заказ\n" + "payment: оплатить\n" + "catalog: вывести католог товаров\n" + "orders: вывести список заказов\n"); while (true) { try { switch (scanner.nextLine()) { case "help": - System.out.println("exit: выйти\n" + "help: справка\n" + "create: создать заказ\n" + - "return: вернуть товар\n" + "modif: изменить заказ\n" + - "payment: оплатить\n" + "catalog: вывести католог товаров\n" + - "orders: вывести список заказов\n" + "reg: регистрация пользователя\n" + - "users: список пользователей"); + System.out.println("exit: выйти\n" + "help: справка\n" + "create: создать заказ\n" + "return: вернуть товар\n" + "modif: изменить заказ\n" + "payment: оплатить\n" + "catalog: вывести католог товаров\n" + "orders: вывести список заказов\n" + "reg: регистрация пользователя\n" + "users: список пользователей"); break; case "exit": System.exit(1); break; case "create": - System.out.println("введите свое имя: "); + System.out.println("Введите ваше имя: "); String customerName = scanner.nextLine(); - System.out.println("выберите товар который хотите купить: (введите id товара для покупки)"); + System.out.println("Выберите товар который хотите купить: (введите id товара для покупки)"); System.out.println(shop.catalog()); shop.createOrder(Integer.valueOf(scanner.nextLine()), customerName); System.out.println("Заказ был успешно создан"); @@ -55,36 +47,36 @@ public static void main(String[] args) { System.out.println(shop.catalog()); break; case "modif": - System.out.println("введите id заказа"); + System.out.println("Введите id заказа"); Integer orderId = Integer.valueOf(scanner.nextLine()); - System.out.println("выберите товар который хотите купить:"); + System.out.println("Выберите товар который хотите купить:"); System.out.println(shop.catalog()); shop.modifOrder(orderId, Integer.valueOf(scanner.nextLine())); - System.out.println("заказ успешно изменен"); + System.out.println("Заказ успешно изменен"); break; case "payment": - System.out.println("введите id заказа"); + System.out.println("Введите id заказа"); orderId = Integer.valueOf(scanner.nextLine()); shop.payment(orderId); - System.out.println("оплата успешно произведена"); + System.out.println("Оплата успешно произведена"); break; case "return": - System.out.println("введите id заказа:"); + System.out.println("Введите id заказа:"); shop.returnProduct(Integer.valueOf(scanner.nextLine())); - System.out.println("возврат успешно выполнен"); + System.out.println("Возврат успешно выполнен"); break; case "reg": - System.out.println("введите имя"); + System.out.println("Введите имя"); String name = scanner.nextLine(); - System.out.println("введите скок денег на счету XD"); + System.out.println("Введите скок денег на счету XD"); customerRepository.save(new Customer(customerRepository.getSize(), name, Double.valueOf(scanner.nextLine()))); - System.out.println("пользователь успешно создан"); + System.out.println("Пользователь успешно создан"); break; case "users": System.out.println(customerRepository.findAll()); break; default: - System.out.println("команда не понятна, help - справка"); + System.out.println("Команда не понятна, help - справка"); } } catch (Exception e) { System.out.println(e.getMessage()); From 0f511805d16ccde6c14ad7737c9151849a129264 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 16:25:16 +0300 Subject: [PATCH 066/101] Update InternetShop.java --- .../ru/tn/courses/vbykov/v1/task2/businees/InternetShop.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/businees/InternetShop.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/businees/InternetShop.java index 96ee6798..9f89fa64 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/businees/InternetShop.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/businees/InternetShop.java @@ -1,12 +1,9 @@ package ru.tn.courses.vbykov.v1.task2.business; - import ru.tn.courses.vbykov.v1.task2.models.Order; import ru.tn.courses.vbykov.v1.task2.models.Product; - import java.util.List; public interface InternetShop { - Order createOrder(Integer productId, String customer) throws Exception; Order payment(Integer orderId) throws Exception; Order returnProduct(Integer orderId) throws Exception; From 90311ea82309547bf5b5b2b6d8f468f9884e1904 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 16:27:34 +0300 Subject: [PATCH 067/101] Update MyShop.java --- .../vbykov/v1/task2/businees/MyShop.java | 20 ++++++------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/businees/MyShop.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/businees/MyShop.java index 4bd1f87e..e80e9fa6 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/businees/MyShop.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/businees/MyShop.java @@ -1,5 +1,4 @@ package ru.tn.courses.vbykov.v1.task2.business; - import ru.tn.courses.vbykov.v1.task2.enums.OrderDescriptionEnum; import ru.tn.courses.vbykov.v1.task2.models.Customer; import ru.tn.courses.vbykov.v1.task2.models.Order; @@ -7,7 +6,6 @@ import ru.tn.courses.vbykov.v1.task2.repositories.CustomerRepository; import ru.tn.courses.vbykov.v1.task2.repositories.OrderRepository; import ru.tn.courses.vbykov.v1.task2.repositories.ProductRepository; - import java.time.LocalDate; import java.util.List; @@ -15,7 +13,6 @@ public class MyShop implements InternetShop { OrderRepository orderRepository = OrderRepository.getInstance(); ProductRepository productRepository = ProductRepository.getInstance(); CustomerRepository customerRepository = CustomerRepository.getInstance(); - @Override public Order createOrder(Integer productId, String customerName) throws Exception { Customer customer = customerRepository.findByName(customerName); @@ -26,10 +23,9 @@ public Order createOrder(Integer productId, String customerName) throws Exceptio orderRepository.save(order); return order; } catch (Exception e) { - throw new Exception("товар с таким id не найден"); + throw new Exception("Товар с таким id не найден"); } } - @Override public Order payment(Integer orderId) throws Exception { try { @@ -40,22 +36,20 @@ public Order payment(Integer orderId) throws Exception { if (product.getCount() > 0) { product.setCount(product.getCount() - 1); } else { - throw new Exception("товара больше нет"); + throw new Exception("Товара больше нет"); } if (order.getProduct().getPrice() > customer.getMoney()) { - throw new Exception("на вашем счете недосаточного денег"); + throw new Exception("На вашем счете недосаточного денег"); } productRepository.update(product, product.getId()); order.setPayment(order.getProduct().getPrice()); customer.setMoney(customer.getMoney() - order.getProduct().getPrice()); customerRepository.update(customer, customer.getId()); - return order; } catch (IndexOutOfBoundsException e) { - throw new Exception("заказ с таким id не найден"); + throw new Exception("Заказ с таким id не найден"); } } - @Override public Order returnProduct(Integer orderId) throws Exception { try { @@ -64,10 +58,9 @@ public Order returnProduct(Integer orderId) throws Exception { orderRepository.update(order, orderId); return order; } catch (Exception e) { - throw new Exception("заказа с таким id не найдено."); + throw new Exception("Заказа с таким id не найдено."); } } - @Override public Order modifOrder(Integer orderId, Integer newProductId) throws Exception { try { @@ -78,10 +71,9 @@ public Order modifOrder(Integer orderId, Integer newProductId) throws Exception order.setDescription(OrderDescriptionEnum.MODIF.getValue()); return order; } catch (Exception e) { - throw new Exception("товар или заказ с таким id не найдено"); + throw new Exception("Товар или заказ с таким id не найдено"); } } - @Override public List catalog() { return productRepository.findAll(); From 337fc6bfbcf22dc9c158ca75131ef5e55e5ad74f Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 16:30:48 +0300 Subject: [PATCH 068/101] Update BrandEnum.java --- .../java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java index d78cedd7..b3bc68e5 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java @@ -1,16 +1,12 @@ package ru.tn.courses.vbykov.v1.task2.enums; public enum BrandEnum { - KIA("киа"), Lada("лада"), BMW("бмв"); - + Samsung("Самсунг"), Apple("Эппел"), Xiaomi("Ксяоми"); private final String value; - BrandEnum(String value) { this.value = value; } - public String getValue() { return value; } - } From 54eab52ecaa1d91836ab84784270ad21cf1bc573 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 16:32:31 +0300 Subject: [PATCH 069/101] Update ColorEnum.java --- .../java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum.java index 248d5656..17f70963 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/ColorEnum.java @@ -1,14 +1,11 @@ package ru.tn.courses.vbykov.v1.task2.enums; public enum ColorEnum{ - RED("красный"), GREEN("зеленый"), BLUE("синий"); - + BLACK("Черный"), WHITE("Белый"), BLUE("Синий"); private final String value; - ColorEnum(String value) { this.value = value; } - public String getValue() { return value; } From 28fbb5189b99e16b7eb27b67df16227c006323a0 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 16:35:09 +0300 Subject: [PATCH 070/101] Update BrandEnum.java --- .../java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java index b3bc68e5..f80c19ab 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/BrandEnum.java @@ -1,7 +1,7 @@ package ru.tn.courses.vbykov.v1.task2.enums; public enum BrandEnum { - Samsung("Самсунг"), Apple("Эппел"), Xiaomi("Ксяоми"); + Samsung("Самсунг"), Huawei("Хуавэй"), Xiaomi("Ксяоми"); private final String value; BrandEnum(String value) { this.value = value; From b7489ce82f9c60ba2c5926ad88500b91cdabdac3 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 16:44:02 +0300 Subject: [PATCH 071/101] Update and rename DriveEnum.java to OperatingSystemEnum.java --- .../enums/{DriveEnum.java => OperatingSystemEnum.java} | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) rename src/main/java/ru/tn/courses/vbykov/v1/task2/enums/{DriveEnum.java => OperatingSystemEnum.java} (59%) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DriveEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OperatingSystemEnum.java similarity index 59% rename from src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DriveEnum.java rename to src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OperatingSystemEnum.java index 5afe461e..2cc1fbad 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DriveEnum.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OperatingSystemEnum.java @@ -1,14 +1,11 @@ package ru.tn.courses.vbykov.v1.task2.enums; -public enum DriveEnum { - FULL("полный привод"), FRONT("передний привод"), REAR("задний привод"); - +public enum OperatingSystemEnum { + Android("Андроид"), Ubuntu Touch("Убунту Тоуч"), SIRIN OS("СИРИН ОС"); private final String value; - DriveEnum(String value) { this.value = value; } - public String getValue() { return value; } From 528196d4a0034e81149515d3e1aba5f5c963dd55 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 16:48:09 +0300 Subject: [PATCH 072/101] Update ProductRepository.java --- .../vbykov/v1/task2/repositories/ProductRepository.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java index 0f63c6fd..bb54ffc5 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java @@ -2,7 +2,7 @@ import ru.tn.courses.vbykov.v1.task2.enums.BrandEnum; import ru.tn.courses.vbykov.v1.task2.enums.ColorEnum; -import ru.tn.courses.vbykov.v1.task2.enums.DriveEnum; +import ru.tn.courses.vbykov.v1.task2.enums.OperatingSystemEnum; import ru.tn.courses.vbykov.v1.task2.enums.TransmissionEnum; import ru.tn.courses.vbykov.v1.task2.models.Car; import ru.tn.courses.vbykov.v1.task2.models.Product; @@ -28,7 +28,7 @@ private ProductRepository() { BrandEnum.VAZ.getValue(), 1500, TransmissionEnum.AUTOMATIC.getValue(), - DriveEnum.FRONT.getValue(), + OperatingSystemEnum.FRONT.getValue(), 8)); save( new Car( @@ -37,7 +37,7 @@ private ProductRepository() { BrandEnum.AUDI.getValue(), 1500, TransmissionEnum.MANUAL.getValue(), - DriveEnum.REAR.getValue(), + OperatingSystemEnum.REAR.getValue(), 10)); save( new Car( @@ -46,7 +46,7 @@ private ProductRepository() { BrandEnum.BMW.getValue(), 2000, TransmissionEnum.AUTOMATIC.getValue(), - DriveEnum.FRONT.getValue(), + OperatingSystemEnum.FRONT.getValue(), 15)); } } From 8e230b3f61e9e31fa08a7de53a006cd92f89ad7c Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 16:49:14 +0300 Subject: [PATCH 073/101] Update OrderDescriptionEnum.java --- .../courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java index 869781ae..a0782fa6 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OrderDescriptionEnum.java @@ -1,14 +1,11 @@ package ru.tn.courses.vbykov.v1.task2.enums; public enum OrderDescriptionEnum { - CREATE("Создание заказа"), RETURN("возврат продукта"), MODIF("изменение заказа"), BUY("произведена покупка"); - + CREATE("Создание заказа"), RETURN("Возврат продукта"), MODIF("Изменение заказа"), BUY("Произведение покупки"); private final String value; - OrderDescriptionEnum(String value) { this.value = value; } - public String getValue() { return value; } From 37733fbafc5136567cce6f3a0a17feaefd0b67df Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:05:30 +0300 Subject: [PATCH 074/101] Update and rename TransmissionEnum.java to DisplayResolutionEnum.java --- ...{TransmissionEnum.java => DisplayResolutionEnum.java} | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) rename src/main/java/ru/tn/courses/vbykov/v1/task2/enums/{TransmissionEnum.java => DisplayResolutionEnum.java} (63%) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DisplayResolutionEnum.java similarity index 63% rename from src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java rename to src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DisplayResolutionEnum.java index b4d2c07f..1f8e4e12 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/TransmissionEnum.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DisplayResolutionEnum.java @@ -1,17 +1,12 @@ package ru.tn.courses.vbykov.v1.task2.enums; -public enum TransmissionEnum { - - MANUAL("механическая"), AUTOMATIC("автоматическая"); - +public enum DisplayResolutionEnum { + STANDART ("1080×1920"), PLUS("1440 x 2960"); private final String value; - TransmissionEnum(String value) { this.value = value; } - public String getValue() { return value; } - } From 906da84aeadd456e42351c8ab3568013e42b7a82 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:06:00 +0300 Subject: [PATCH 075/101] Update DisplayResolutionEnum.java --- .../tn/courses/vbykov/v1/task2/enums/DisplayResolutionEnum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DisplayResolutionEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DisplayResolutionEnum.java index 1f8e4e12..8358ef32 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DisplayResolutionEnum.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DisplayResolutionEnum.java @@ -3,7 +3,7 @@ public enum DisplayResolutionEnum { STANDART ("1080×1920"), PLUS("1440 x 2960"); private final String value; - TransmissionEnum(String value) { + DisplayResolutionEnum(String value) { this.value = value; } public String getValue() { From ced1495da6b46447f13583c082723d84b8075e3b Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:06:38 +0300 Subject: [PATCH 076/101] Update OperatingSystemEnum.java --- .../tn/courses/vbykov/v1/task2/enums/OperatingSystemEnum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OperatingSystemEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OperatingSystemEnum.java index 2cc1fbad..709c934f 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OperatingSystemEnum.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OperatingSystemEnum.java @@ -3,7 +3,7 @@ public enum OperatingSystemEnum { Android("Андроид"), Ubuntu Touch("Убунту Тоуч"), SIRIN OS("СИРИН ОС"); private final String value; - DriveEnum(String value) { + OperatingSystemEnum(String value) { this.value = value; } public String getValue() { From 8dc6713230eb7e3f20d4c202845ad43999ce54a5 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:08:45 +0300 Subject: [PATCH 077/101] Update OperatingSystemEnum.java --- .../tn/courses/vbykov/v1/task2/enums/OperatingSystemEnum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OperatingSystemEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OperatingSystemEnum.java index 709c934f..deae0589 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OperatingSystemEnum.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/OperatingSystemEnum.java @@ -1,7 +1,7 @@ package ru.tn.courses.vbykov.v1.task2.enums; public enum OperatingSystemEnum { - Android("Андроид"), Ubuntu Touch("Убунту Тоуч"), SIRIN OS("СИРИН ОС"); + Android("Андроид"), Ubuntu_Touch("Убунту Тоуч"), SIRIN_OS("СИРИН ОС"); private final String value; OperatingSystemEnum(String value) { this.value = value; From 7f81ef8a28cd359c2150a1407607a62941e57a03 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:18:17 +0300 Subject: [PATCH 078/101] Update and rename Car.java to Smartphone.java --- .../courses/vbykov/v1/task2/models/Car.java | 53 ------------------- .../vbykov/v1/task2/models/Smartphone.java | 44 +++++++++++++++ 2 files changed, 44 insertions(+), 53 deletions(-) delete mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task2/models/Smartphone.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java deleted file mode 100644 index b6cca8dc..00000000 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Car.java +++ /dev/null @@ -1,53 +0,0 @@ -package ru.tn.courses.vbykov.v1.task2.models; - -public class Car extends Product { - private String color; - private String brand; - private String transmission; - private String drive; - - public Car(Integer id, String color, String brand, double price, String transmission, String drive, int count) { - super(id, price, count); - this.color = color; - this.brand = brand; - this.transmission = transmission; - this.drive = drive; - } - - public String getColor() { - return color; - } - - public void setColor(String color) { - this.color = color; - } - - public String getBrand() { - return brand; - } - - public void setBrand(String brand) { - this.brand = brand; - } - - public String getTransmission() { - return transmission; - } - - public void setTransmission(String transmission) { - this.transmission = transmission; - } - - public String getDrive() { - return drive; - } - - public void setDrive(String drive) { - this.drive = drive; - } - - @Override - public String toString() { - return super.toString() + "; color : " + color + "; brand: " + brand + "; transmission: " + transmission + "; drive: " + drive + "\n"; - } -} diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Smartphone.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Smartphone.java new file mode 100644 index 00000000..c5ac1bb1 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Smartphone.java @@ -0,0 +1,44 @@ +package ru.tn.courses.vbykov.v1.task2.models; + +public class Smartphone extends Product { + private String Color; + private String Brand; + private String Display_Resolution; + private String Operating_System; + + public Car(Integer id, String Color, String Brand, double price, String Display_Resolution, String Operating_System, int count) { + super(id, price, count); + this.Color = Color; + this.Brand = Brand; + this.Display_Resolution = Display_Resolution; + this.Operating_System = Operating_System; + } + public String getColor() { + return Color; + } + public void setColor(String Color) { + this.Color = Color; + } + public String getBrand() { + return Brand; + } + public void setBrand(String Brand) { + this.Brand = Brand; + } + public String getDisplay_Resolution() { + return Display_Resolution; + } + public void setDisplay_Resolution(String Display_Resolution) { + this.Display_Resolution = Display_Resolution; + } + public String getOperating_System() { + return Operating_System; + } + public void setOperating_System(String Operating_System) { + this.Operating_System = Operating_System; + } + @Override + public String toString() { + return super.toString() + "; Color : " + Color + "; Brand: " + Brand + "; Display_Resolution: " + Display_Resolution + "; Operating_System: " + Operating_System + "\n"; + } +} From a8b4da4c1721710fd46dfbd658e86b16af90f225 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:19:33 +0300 Subject: [PATCH 079/101] Update Customer.java --- .../java/ru/tn/courses/vbykov/v1/task2/models/Customer.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java index 89793636..66bba39e 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Customer.java @@ -3,29 +3,23 @@ public class Customer extends Model{ String name; Double money; - public String getName() { return name; } - public void setName(String name) { this.name = name; } - public Double getMoney() { return money; } - public void setMoney(Double money) { this.money = money; } - public Customer(Integer id, String name, Double money) { super(id); this.name = name; this.money = money; } - @Override public String toString() { return super.toString() + "; name: " + name + "; money: " + money + "\n"; From 04fa99406568a61ad7c8d0ee3aaf968a35623cad Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:19:57 +0300 Subject: [PATCH 080/101] Update Model.java --- src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java index c9dcaa40..f44247c0 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Model.java @@ -2,15 +2,12 @@ public class Model { private Integer id; - public Integer getId() { return id; } - public Model(Integer id) { this.id = id; } - @Override public String toString() { return "id: " + id; From b79d4af80dff0473f340f541c72823d753c90cb1 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:21:21 +0300 Subject: [PATCH 081/101] Update Order.java --- .../tn/courses/vbykov/v1/task2/models/Order.java | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java index 17e4abaf..4bfab2d3 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Order.java @@ -1,24 +1,19 @@ package ru.tn.courses.vbykov.v1.task2.models; - import java.time.LocalDate; public class Order extends Model { - private Customer customer; private LocalDate created; private LocalDate modified; private Product product; private String description; private double payment; - public double getPayment() { return payment; } - public void setPayment(double payment) { this.payment = payment; } - public Order(Integer id, Customer customer, Product product, String description) { super(id); this.customer = customer; @@ -27,44 +22,33 @@ public Order(Integer id, Customer customer, Product product, String description) this.product = product; this.description = description; } - public Customer getCustomer() { return customer; } - public Product getProduct() { return product; } - - public void setProduct(Product product) { this.product = product; } - public void setCustomer(Customer customer) { this.customer = customer; } - public LocalDate getModified() { return modified; } - public void setModified(LocalDate modified) { this.modified = modified; } - public LocalDate getCreated() { return created; } - public String getDescription() { return description; } - public void setDescription(String description) { this.description = description; } - @Override public String toString() { return super.toString() + "; customer: " + customer.name + "; created: " + created + "; product: {" + product + From efa3a0be022237be085cf69e7e3cf578d43aa845 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:24:01 +0300 Subject: [PATCH 082/101] Update Product.java --- .../java/ru/tn/courses/vbykov/v1/task2/models/Product.java | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java index ecd5af59..cf391d9a 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Product.java @@ -3,29 +3,23 @@ public class Product extends Model{ private double price; private int count; - public Product(Integer id, double price, int count) { super(id); this.price = price; this.count = count; } - public double getPrice() { return price; } - public void setPrice(double price) { this.price = price; } - public int getCount() { return count; } - public void setCount(int count) { this.count = count; } - @Override public String toString() { return super.toString() + "; price: " + price + "; count: "+ count; From 2e85cb758d5d2cc4f6299267daa5a2c0f57968b5 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:26:00 +0300 Subject: [PATCH 083/101] Update CustomerRepository.java --- .../v1/task2/repositories/CustomerRepository.java | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java index c049aef5..40a5ff8b 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/CustomerRepository.java @@ -1,27 +1,21 @@ package ru.tn.courses.vbykov.v1.task2.repositories; - import ru.tn.courses.vbykov.v1.task2.models.Customer; - import java.util.ArrayList; import java.util.List; public class CustomerRepository extends RepositoryImpl { - private static CustomerRepository instance; - public static CustomerRepository getInstance() { if (instance == null) { instance = new CustomerRepository(); } return instance; } - public CustomerRepository() { super(new ArrayList<>()); - save(new Customer(getSize(), "Алексей", 10000.0)); - save(new Customer(getSize(), "Константин", 100.0)); + save(new Customer(getSize(), "Анастасия", 10000.0)); + save(new Customer(getSize(), "Григорий", 100.0)); } - public Customer findByName(String name) throws Exception { List allCustomer = findAll(); for (Customer customer : allCustomer) { From bb31dbabf2510d9f2ad52e53ff90d4c624bbfa16 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:26:34 +0300 Subject: [PATCH 084/101] Update OrderRepository.java --- .../vbykov/v1/task2/repositories/OrderRepository.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java index dabbe8b8..3eb81d76 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/OrderRepository.java @@ -1,20 +1,15 @@ package ru.tn.courses.vbykov.v1.task2.repositories; - import ru.tn.courses.vbykov.v1.task2.models.Order; - import java.util.ArrayList; public class OrderRepository extends RepositoryImpl { - private static OrderRepository instance; - public static OrderRepository getInstance(){ if(instance == null){ instance = new OrderRepository(); } return instance; } - public OrderRepository() { super(new ArrayList<>()); } From 136d6dcee25f24eb075f499421c8ef547db79e94 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:41:19 +0300 Subject: [PATCH 085/101] Update DisplayResolutionEnum.java --- .../tn/courses/vbykov/v1/task2/enums/DisplayResolutionEnum.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DisplayResolutionEnum.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DisplayResolutionEnum.java index 8358ef32..5c292331 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DisplayResolutionEnum.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/enums/DisplayResolutionEnum.java @@ -1,7 +1,7 @@ package ru.tn.courses.vbykov.v1.task2.enums; public enum DisplayResolutionEnum { - STANDART ("1080×1920"), PLUS("1440 x 2960"); + STANDART("1080×1920"), PLUS("1440 x 2960"); private final String value; DisplayResolutionEnum(String value) { this.value = value; From 9f3afe389386a65ec1ec04a940112799b8615cb8 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:44:07 +0300 Subject: [PATCH 086/101] Update ProductRepository.java --- .../task2/repositories/ProductRepository.java | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java index bb54ffc5..5a22b75a 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java @@ -3,8 +3,8 @@ import ru.tn.courses.vbykov.v1.task2.enums.BrandEnum; import ru.tn.courses.vbykov.v1.task2.enums.ColorEnum; import ru.tn.courses.vbykov.v1.task2.enums.OperatingSystemEnum; -import ru.tn.courses.vbykov.v1.task2.enums.TransmissionEnum; -import ru.tn.courses.vbykov.v1.task2.models.Car; +import ru.tn.courses.vbykov.v1.task2.enums.DisplayResolutionEnum; +import ru.tn.courses.vbykov.v1.task2.models.Smartphone; import ru.tn.courses.vbykov.v1.task2.models.Product; import java.util.ArrayList; @@ -22,31 +22,31 @@ public static ProductRepository getInstance(){ private ProductRepository() { super(new ArrayList<>()); save( - new Car( + new Smartphone( getSize(), ColorEnum.BLUE.getValue(), - BrandEnum.VAZ.getValue(), + BrandEnum.Samsung.getValue(), 1500, - TransmissionEnum.AUTOMATIC.getValue(), - OperatingSystemEnum.FRONT.getValue(), + DisplayResolutionEnum.PLUS.getValue(), + OperatingSystemEnum.Android.getValue(), 8)); save( - new Car( + new Smartphone( getSize(), - ColorEnum.GREEN.getValue(), - BrandEnum.AUDI.getValue(), + ColorEnum.BLACK.getValue(), + BrandEnum.Xiaomi.getValue(), 1500, - TransmissionEnum.MANUAL.getValue(), - OperatingSystemEnum.REAR.getValue(), + DisplayResolutionEnum.STANDART.getValue(), + OperatingSystemEnum.Android.getValue(), 10)); save( - new Car( + new Smartphone( getSize(), - ColorEnum.BLUE.getValue(), - BrandEnum.BMW.getValue(), + ColorEnum.WHITE.getValue(), + BrandEnum.Huawei.getValue(), 2000, - TransmissionEnum.AUTOMATIC.getValue(), - OperatingSystemEnum.FRONT.getValue(), + DisplayResolutionEnum.STANDART.getValue(), + OperatingSystemEnum.Ubuntu_Touch.getValue(), 15)); } } From 85cbfaaf23acbe8561cbe142bf384ef1ffccfbbb Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:44:35 +0300 Subject: [PATCH 087/101] Update ProductRepository.java --- .../vbykov/v1/task2/repositories/ProductRepository.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java index 5a22b75a..1c352af0 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/ProductRepository.java @@ -1,16 +1,13 @@ package ru.tn.courses.vbykov.v1.task2.repositories; - import ru.tn.courses.vbykov.v1.task2.enums.BrandEnum; import ru.tn.courses.vbykov.v1.task2.enums.ColorEnum; import ru.tn.courses.vbykov.v1.task2.enums.OperatingSystemEnum; import ru.tn.courses.vbykov.v1.task2.enums.DisplayResolutionEnum; import ru.tn.courses.vbykov.v1.task2.models.Smartphone; import ru.tn.courses.vbykov.v1.task2.models.Product; - import java.util.ArrayList; public class ProductRepository extends RepositoryImpl { - private static ProductRepository instance; public static ProductRepository getInstance(){ if(instance == null){ @@ -18,7 +15,6 @@ public static ProductRepository getInstance(){ } return instance; } - private ProductRepository() { super(new ArrayList<>()); save( From cba262fe0bc9aa6fc564d5da12c4488af0519fc8 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:45:04 +0300 Subject: [PATCH 088/101] Update Repository.java --- .../ru/tn/courses/vbykov/v1/task2/repositories/Repository.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java index 3fb3b57c..dc880763 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/Repository.java @@ -1,5 +1,4 @@ package ru.tn.courses.vbykov.v1.task2.repositories; - import java.util.List; public interface Repository { From fe12bebb40d59703fcce2b8266306fea3eeb7a1d Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:45:48 +0300 Subject: [PATCH 089/101] Update RepositoryImpl.java --- .../vbykov/v1/task2/repositories/RepositoryImpl.java | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java index a8110fb9..27e34192 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/repositories/RepositoryImpl.java @@ -1,35 +1,27 @@ package ru.tn.courses.vbykov.v1.task2.repositories; - import java.util.List; public class RepositoryImpl implements Repository< private List repository; - public RepositoryImpl(List this. } - @Override public List return repository; } - @Override public void save(T repository.add( } - @Override public void update(T var, Integer id) { repository.set(id, var); } - - @Override public T findById(Integer id) { return repository.get(id); } - @Override public Integer getSize() { return repository.size(); From f5ef582533233ab11545a715e34ffc0c043d7509 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Mon, 21 Mar 2022 17:48:02 +0300 Subject: [PATCH 090/101] Update Smartphone.java --- .../java/ru/tn/courses/vbykov/v1/task2/models/Smartphone.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Smartphone.java b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Smartphone.java index c5ac1bb1..c4b3c91d 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Smartphone.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task2/models/Smartphone.java @@ -6,7 +6,7 @@ public class Smartphone extends Product { private String Display_Resolution; private String Operating_System; - public Car(Integer id, String Color, String Brand, double price, String Display_Resolution, String Operating_System, int count) { + public Smartphone(Integer id, String Color, String Brand, double price, String Display_Resolution, String Operating_System, int count) { super(id, price, count); this.Color = Color; this.Brand = Brand; From 2c455e3bfaf4408ce14b15ecec6beca676156693 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 23 Mar 2022 18:39:25 +0300 Subject: [PATCH 091/101] Create Integer.java --- .../tn/courses/vbykov/v1/task3/Integer.java | 124 ++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task3/Integer.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task3/Integer.java b/src/main/java/ru/tn/courses/vbykov/v1/task3/Integer.java new file mode 100644 index 00000000..09c2ba16 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task3/Integer.java @@ -0,0 +1,124 @@ +package ru.tn.courses.vbykov.v1.task3; + +public class Integer { + private final int value; + public final static int MAX_VALUE = 0x7fffffff; + public final static int MIN_VALUE = 0x80000000; + public int getValue() { + return this.value; + } + public Integer() { + this.value = 0; + } + public Integer(int x) { + this.value = x; + } + public Integer(String s) throws RuntimeException { + if (s == null) { + throw new RuntimeException(); + } + this.value = parseInt(s); + } + private int parseInt(String s) throws RuntimeException { + int x = 0; + int f = 1; + byte[] bytes = s.getBytes(); + int i = 0; + if (bytes[i] == '-') { + i++; + f = -1; + } + while (i < bytes.length) { + if (bytes[i] >= '0' && bytes[i] <= '9') { + if (((long) x * 10 + bytes[i] - '0') > MAX_VALUE) { + throw new RuntimeException("выход за границы"); + } + x = x * 10 + bytes[i++] - '0'; + } else { + throw new RuntimeException(); + } + } + return x * f; + } + @Override + public String toString() { + return String.valueOf(value); + } + public boolean equals(Object o) { + if (o instanceof Integer) { + return value == ((Integer) o).getValue(); + } + return false; + } + public int hashCode() { + return this.value; + } + public Integer add(Integer i) { + if (((long) this.value + i.getValue()) > MAX_VALUE) { + throw new RuntimeException("выход за пределы"); + } + return new Integer(this.value + i.getValue()); + } + public Integer diff(Integer i) { + if (((long) this.value - i.getValue()) < MIN_VALUE) { + throw new RuntimeException("выход за пределы"); + } + return new Integer(this.value - i.getValue()); + } + public Integer mult(Integer i) { + if (((long) this.value * i.getValue()) > MAX_VALUE) { + throw new RuntimeException("выход за пределы"); + } + return new Integer(this.value * i.getValue()); + } + public Integer div(Integer i) { + if (i.getValue() == 0) { + throw new RuntimeException("на ноль делить нельзя..."); + } + return new Integer(this.value / i.getValue()); + } + public Integer mod(Integer i) { + if (i.getValue() == 0) { + throw new RuntimeException("деление на ноль"); + } + return new Integer(this.value % i.getValue()); + } + public Integer pow(int exponent) { + if (exponent == 1) { + return this; + } + if (exponent == 0) { + return new Integer(1); + } + int x = this.value; + for (int i = 1; i < exponent; i++) { + if (((long) x * value) > MAX_VALUE) { + throw new RuntimeException("выход за пределы"); + } + x *= value; + } + return new Integer(x); + } + public String toOctalString() { + String s = ""; + int x = this.value; + while (x > 0) { + s = (char) ((x % 8) + '0') + s; + x /= 8; + } + return s; + } + public String toHexString() { + String s = ""; + int x = this.value; + while (x > 0) { + if (x % 16 > 9) { + s = (char) ((x % 16) + 'A' - 10) + s; + } else { + s = (char) ((x % 16) + '0') + s; + } + x /= 16; + } + return s; + } +} From 5e63a1c84b6832c7f5e99059b4b698ff03610f2f Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 23 Mar 2022 18:40:44 +0300 Subject: [PATCH 092/101] Create ListContainer.java --- .../vbykov/v1/task3/ListContainer.java | 131 ++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task3/ListContainer.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task3/ListContainer.java b/src/main/java/ru/tn/courses/vbykov/v1/task3/ListContainer.java new file mode 100644 index 00000000..0c9bfb4c --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task3/ListContainer.java @@ -0,0 +1,131 @@ +package ru.tn.courses.vbykov.v1.task3; +import java.util.Collection; + +public class ListContainer { + private T[] values; + private int size; + public ListContainer() { + this.values = (T[]) new Object[10]; + this.size = 0; + } + public ListContainer(T... values) { + this.values = (T[]) new Object[values.length]; + for (int i = 0; i < values.length; i++) { + this.add(values[i]); + } + } + public T[] getValues() { + var list = (T[]) new Object[this.size]; + for (int i = 0; i < this.size; i++) { + list[i] = this.values[i]; + } + return list; + } + public void add(T value) { + if (this.size < this.values.length) { + this.values[size++] = value; + } else { + T[] temp = (T[]) new Object[2 * size]; + for (int i = 0; i < size; i++) { + temp[i] = this.values[i]; + } + this.values = temp; + this.values[size++] = value; + } + } + public void add(T value, int index) { + if (this.values.length >= this.size + 1) { + T[] temp = (T[]) new Object[2 * size]; + for (int i = 0; i < size; i++) { + temp[i] = (T) this.values[i]; + } + this.values = temp; + } + for (int i = size; i > index; i--) { + this.values[i] = this.values[i - 1]; + } + if (index > size) { + add(value); + } else { + this.values[index] = value; + } + } + public void remove(int index) { + if (index < this.size) { + for (int i = index; i <= this.size - 1; i++) { + this.values[i] = this.values[i + 1]; + } + size--; + } else { + throw new RuntimeException("за пределами массива"); + } + } + public T get(int index) { + if (index <= size) { + return (T) this.values[index]; + } else { + throw new RuntimeException("за пределами массива"); + } + } + public T get(T value) { + int i = 0; + while (i < size) { + if (value.equals(this.values[i])) { + return (T) this.values[i]; + } + i++; + } + return null; + } + public boolean equals(final Object o) { + if (o == this) { + return true; + } + if (!(o instanceof ListContainer)) { + return false; + } + var listConteiners = (ListContainer) o; + for (int i = 0; i < size; i++) { + if (!listConteiners.values[i].equals(this.values[i])) { + return false; + } + } + return true; + } + @Override + public int hashCode() { + int hash = 0; + for (int i = 0; i < size; i++) { + hash += 13 * hash + this.values[i].hashCode(); + } + return hash; + } + public void addCollection(Collection collection) { + T[] collectionElements = (T[]) new Object[collection.size()]; + int i = 0; + for (T element : collection) { + collectionElements[i++] = element; + } + + for (i = 0; i < collectionElements.length; i++) { + add(collectionElements[i]); + } + } + public int getSize() { + return this.size; + } + public ListContainer getSubConteiner(int[] indexes) { + var listContainer = new ListContainer(); + for (int i = 0; i < indexes.length; i++) { + if (indexes[i] > size) { + throw new RuntimeException("индекс за пределами массива"); + } + listContainer.add(this.values[indexes[i]]); + } + return listContainer; + } + public String toString() { + // это ток для себя, не использую arrays utils + return "(values=" + java.util.Arrays.deepToString(this.getValues()) + ", size=" + this.getSize() + ")"; + } +} From c6cdc8beafffadd076a783abf0421cd8bbb11975 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 23 Mar 2022 18:42:47 +0300 Subject: [PATCH 093/101] Create Subtask_1.java --- .../tn/courses/vbykov/v1/task3/Subtask_1.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_1.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_1.java b/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_1.java new file mode 100644 index 00000000..59ee3ad2 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_1.java @@ -0,0 +1,20 @@ +package ru.tn.courses.vbykov.v1.task3; + +public class Subtask_1 { + /** + * (Задание 1 варианта) Разработать класс Integer + * - класс должен содержать конструкторы Integer(), Integer(int x), Integer(String s) + * - Реализовать метод сравнения двух объектов класса Integer + * - Реализовать методы добавления значения add(Integer i), вычитания, умножения и деления + * - Реализовать метод возведения в степень pow(int exponent) + * - реализовать методы преставления числа в восьмеричной и шестнадцатеричной СС + */ + public static void main(String[] args) { + Integer a = new Integer(0); + Integer b = new Integer("-2"); + Integer c = b.pow(2); + System.out.println(c); + System.out.println(c.toOctalString()); + System.out.println(c.toHexString()); + } +} From 08699e8cdf6b7fee0bf1d6ba402ffa4134cf9418 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 23 Mar 2022 18:46:42 +0300 Subject: [PATCH 094/101] Create Subtask_2.java --- .../tn/courses/vbykov/v1/task3/Subtask_2.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_2.java diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_2.java b/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_2.java new file mode 100644 index 00000000..65f4c816 --- /dev/null +++ b/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_2.java @@ -0,0 +1,35 @@ +package ru.tn.courses.vbykov.v1.task3; + +import java.lang.reflect.Array; +import java.util.Arrays; +import java.util.Collection; +import java.util.Set; +import java.util.stream.Stream; + +public class Subtask_2 { + /** + * Разработать класс ListContainer для хранения дженерик списков + * - класс должен содержать конструктор по умолчанию и конструктор с new ListContainer(T ... elements) + * - метод получения значения списка + * - метод сравнения двух контейнеров + * - методы добавления и удаления элемента в контейнер + * - методы поиска элементов по индексу или значению + * - добавление коллекции элементов + * - получение контейнера с подсписком по индексам + */ + public static void main(String[] args) { + ListContainer listContainer = new ListContainer<>(1, 2, 3); + listContainer.addCollection(Set.of(1, 2, 3)); + System.out.println(listContainer); + listContainer.add(2); + System.out.println(listContainer); + listContainer.add(4, 6); + System.out.println(listContainer); + listContainer.remove(3); + System.out.println(listContainer); +// Arrays.stream(listContainer.getValues()).forEach(System.out::println); + System.out.println(listContainer.get(3)); + var listContainer2 = listContainer.getSubConteiner(new int[]{1,2,3}); + System.out.println(listContainer2); + } +} From 987e4e709b679386d2c901d90adbd429dcefefdb Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 23 Mar 2022 18:57:23 +0300 Subject: [PATCH 095/101] Update Integer.java --- src/main/java/ru/tn/courses/vbykov/v1/task3/Integer.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task3/Integer.java b/src/main/java/ru/tn/courses/vbykov/v1/task3/Integer.java index 09c2ba16..8f3c63c3 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task3/Integer.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task3/Integer.java @@ -1,5 +1,4 @@ package ru.tn.courses.vbykov.v1.task3; - public class Integer { private final int value; public final static int MAX_VALUE = 0x7fffffff; From 64df47e34055fddce5885d48d74fc3ddc2a59d62 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 23 Mar 2022 18:57:32 +0300 Subject: [PATCH 096/101] Update Integer.java --- src/main/java/ru/tn/courses/vbykov/v1/task3/Integer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task3/Integer.java b/src/main/java/ru/tn/courses/vbykov/v1/task3/Integer.java index 8f3c63c3..09c2ba16 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task3/Integer.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task3/Integer.java @@ -1,4 +1,5 @@ package ru.tn.courses.vbykov.v1.task3; + public class Integer { private final int value; public final static int MAX_VALUE = 0x7fffffff; From 79d23ecbe13d81950998ce974fe6c65a3145d345 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 23 Mar 2022 18:57:58 +0300 Subject: [PATCH 097/101] Update ListContainer.java --- src/main/java/ru/tn/courses/vbykov/v1/task3/ListContainer.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task3/ListContainer.java b/src/main/java/ru/tn/courses/vbykov/v1/task3/ListContainer.java index 0c9bfb4c..8b6a165b 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task3/ListContainer.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task3/ListContainer.java @@ -1,6 +1,5 @@ package ru.tn.courses.vbykov.v1.task3; import java.util.Collection; - public class ListContainer { private T[] values; private int size; From 28381477451bab3d524f4b5ff1d138629a06d14e Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 23 Mar 2022 18:58:10 +0300 Subject: [PATCH 098/101] Update ListContainer.java --- src/main/java/ru/tn/courses/vbykov/v1/task3/ListContainer.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task3/ListContainer.java b/src/main/java/ru/tn/courses/vbykov/v1/task3/ListContainer.java index 8b6a165b..0c9bfb4c 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task3/ListContainer.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task3/ListContainer.java @@ -1,5 +1,6 @@ package ru.tn.courses.vbykov.v1.task3; import java.util.Collection; + public class ListContainer { private T[] values; private int size; From e53da919fb09f95be5aac6271501615fcc944e26 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 23 Mar 2022 18:58:39 +0300 Subject: [PATCH 099/101] Update Subtask_1.java --- src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_1.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_1.java b/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_1.java index 59ee3ad2..f08301d0 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_1.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_1.java @@ -1,5 +1,4 @@ package ru.tn.courses.vbykov.v1.task3; - public class Subtask_1 { /** * (Задание 1 варианта) Разработать класс Integer From 37fce5acec8b76cf92bbe83674893be5ba9e1545 Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 23 Mar 2022 18:58:47 +0300 Subject: [PATCH 100/101] Update Subtask_1.java --- src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_1.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_1.java b/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_1.java index f08301d0..59ee3ad2 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_1.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_1.java @@ -1,4 +1,5 @@ package ru.tn.courses.vbykov.v1.task3; + public class Subtask_1 { /** * (Задание 1 варианта) Разработать класс Integer From 1c008d722870ad025073de75d2dd2a96c6fc84ae Mon Sep 17 00:00:00 2001 From: VadimBykov2001 <95289088+VadimBykov2001@users.noreply.github.com> Date: Wed, 23 Mar 2022 18:59:07 +0300 Subject: [PATCH 101/101] Update Subtask_2.java --- src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_2.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_2.java b/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_2.java index 65f4c816..28b171e0 100644 --- a/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_2.java +++ b/src/main/java/ru/tn/courses/vbykov/v1/task3/Subtask_2.java @@ -1,5 +1,4 @@ package ru.tn.courses.vbykov.v1.task3; - import java.lang.reflect.Array; import java.util.Arrays; import java.util.Collection;