From 6a42a7883dc04766efb22a5cf723fa2dbe7e0ae6 Mon Sep 17 00:00:00 2001 From: EvVlF Date: Sat, 19 Mar 2022 19:29:35 +0400 Subject: [PATCH 1/9] compare method added --- .../rd/online/service/SimpleMathService.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java index 29215765..fa88be48 100644 --- a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java +++ b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java @@ -6,14 +6,19 @@ public class SimpleMathService implements MathService { * Метод возвращает 0, если value1 = value2. * Метод возвращает -1, если value1 < value2. * Метод возвращает 1, если value1 > value2. - * + *

* Например для (-1, -1) метод должен вернуть 0; * Например для (-3, -1) метод должен вернуть -1; * Например для (3, 1) метод должен вернуть 1; */ @Override public int compare(int value1, int value2) { - return -2; + if (value1 < value2) { + return -1; + } else if (value1 > value2) { + return 1; + } + return 0; } /** @@ -64,11 +69,11 @@ public long calcFactorial(int initialVal) { /** * Метод возвращает число, которе находится на заданной позиции (счет начинается с нуля) в ряду фибоначчи. - * + *

* Ряд фибоначчи - ряд, следующие элементы которого состоят из суммы двух предыдущих. * Ряд начинается 0 и 1. * Пример 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 ... - * + *

* Для числа 9 метод должен вернуть 34 * Для числа 0 метод должен вернуть 0 */ @@ -89,7 +94,7 @@ public int[] sort(int[] values) { /** * Метод определяет, является ли заданное число простым. * Простое число - число, которое делится только на 1 и на само себя. - * + *

* Например для числа 22 вернется false, а для числа 23 true. */ @Override @@ -99,7 +104,7 @@ public boolean isPrimary(int number) { /** * Метод возвращает массив, в котором элементы расположены в обратном порядке. - * + *

* Например для массива {-1, -3, 4, 8, 5, 22, -5} метод вернет {-5, 22, 5, 8, 4, -3, -1} */ @Override From 88d06a88d1235fb0b0af8b3fef8ddcc5224042af Mon Sep 17 00:00:00 2001 From: EvVlF Date: Sun, 20 Mar 2022 12:06:44 +0400 Subject: [PATCH 2/9] maxFrom method added --- .../epam/izh/rd/online/service/SimpleMathService.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java index fa88be48..767740d7 100644 --- a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java +++ b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java @@ -27,7 +27,7 @@ public int compare(int value1, int value2) { */ @Override public int maxFrom(int value1, int value2) { - return -1; + return Math.max(value1, value2); } /** @@ -36,7 +36,13 @@ public int maxFrom(int value1, int value2) { */ @Override public int maxFrom(int[] values) { - return -1; + int max = Integer.MIN_VALUE; + for (int value : values) { + if (value > max) { + max = value; + } + } + return max; } /** From 4d373d9e9a5c012ed26748923ba1c36c77a42a36 Mon Sep 17 00:00:00 2001 From: EvVlF Date: Sun, 20 Mar 2022 12:22:21 +0400 Subject: [PATCH 3/9] sum method added --- .../com/epam/izh/rd/online/service/SimpleMathService.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java index 767740d7..cb13480d 100644 --- a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java +++ b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java @@ -51,7 +51,11 @@ public int maxFrom(int[] values) { */ @Override public int sum(int[] values) { - return -1; + int sum = 0; + for (int value : values) { + sum += value; + } + return sum; } /** From 41b84d462c524dc3bc92a3447d4981e53fb9b6cc Mon Sep 17 00:00:00 2001 From: EvVlF Date: Sun, 20 Mar 2022 15:48:29 +0400 Subject: [PATCH 4/9] getEvenDigits method added --- .../rd/online/service/SimpleMathService.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java index cb13480d..f2f735c3 100644 --- a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java +++ b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java @@ -64,7 +64,24 @@ public int sum(int[] values) { */ @Override public int[] getEvenDigits(int[] values) { - return new int[]{}; + + int evenSize = 0; + + for (int elementForCount : values) { + if (elementForCount % 2 == 0) { + evenSize++; + } + } + + int[] evenArr = new int[evenSize]; + int i = 0; + + for (int elementForEven : values) { + if (elementForEven % 2 == 0) { + evenArr[i++] = elementForEven; + } + } + return evenArr; } /** From 11d1175a71013cc92e82690c6ade19cd2523e7d8 Mon Sep 17 00:00:00 2001 From: EvVlF Date: Sun, 20 Mar 2022 16:22:05 +0400 Subject: [PATCH 5/9] calcFactorial method added --- .../rd/online/service/SimpleMathService.java | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java index f2f735c3..bb2f36eb 100644 --- a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java +++ b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java @@ -73,14 +73,14 @@ public int[] getEvenDigits(int[] values) { } } - int[] evenArr = new int[evenSize]; - int i = 0; + int[] evenArr = new int[evenSize]; + int i = 0; - for (int elementForEven : values) { - if (elementForEven % 2 == 0) { - evenArr[i++] = elementForEven; - } + for (int elementForEven : values) { + if (elementForEven % 2 == 0) { + evenArr[i++] = elementForEven; } + } return evenArr; } @@ -91,7 +91,17 @@ public int[] getEvenDigits(int[] values) { */ @Override public long calcFactorial(int initialVal) { - return -1L; + + long factorial = 1; + + if (initialVal == 0) { + return 1; + } else if (initialVal > 0) { + for (int digitforNotChangeIV = initialVal; digitforNotChangeIV > 0; digitforNotChangeIV--) { + factorial *= digitforNotChangeIV; + } + } + return factorial; } /** From 9ca79c7acb7f54f4be4ca595d2f82a2849a1b3bb Mon Sep 17 00:00:00 2001 From: EvVlF Date: Mon, 21 Mar 2022 00:38:26 +0400 Subject: [PATCH 6/9] calcFibonacci method added --- .../izh/rd/online/service/SimpleMathService.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java index bb2f36eb..0e9d91af 100644 --- a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java +++ b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java @@ -116,7 +116,21 @@ public long calcFactorial(int initialVal) { */ @Override public long calcFibonacci(int number) { - return -1L; + long previous = 0; + long next = 1; + long current = 0; + if (number == 0) { + return 0; + } else if (number == 1) { + return 1; + } else if (number > 1) { + for (int i = 1; i != number; i++) { + current = previous + next; + previous = next; + next = current; + } + } + return current; } /** From 296300b526b76fad90b0a2225c4cc8bc339519ae Mon Sep 17 00:00:00 2001 From: EvVlF Date: Tue, 22 Mar 2022 01:16:03 +0400 Subject: [PATCH 7/9] sort method added --- .../rd/online/service/SimpleMathService.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java index 0e9d91af..6f8bc737 100644 --- a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java +++ b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java @@ -139,7 +139,22 @@ public long calcFibonacci(int number) { */ @Override public int[] sort(int[] values) { - return new int[]{}; + int[] forSort = new int[values.length]; + for (int i = 0; i < forSort.length; i++) { + forSort[i]=values[i]; + } + + //Insertion Sort + for (int j = 1; j < forSort.length; j++) { + int current = forSort[j]; + int k = j - 1; + while (k >= 0 && current < forSort[k]) { + forSort[k + 1] = forSort[k]; + k--; + } + forSort[k + 1] = current; + } + return forSort; } /** From f992b67e6db4b91bc8282d7846acf46a4350ed9d Mon Sep 17 00:00:00 2001 From: EvVlF Date: Tue, 22 Mar 2022 02:00:02 +0400 Subject: [PATCH 8/9] isPrimary method added --- .../epam/izh/rd/online/service/SimpleMathService.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java index 6f8bc737..42d0e4ec 100644 --- a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java +++ b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java @@ -141,7 +141,7 @@ public long calcFibonacci(int number) { public int[] sort(int[] values) { int[] forSort = new int[values.length]; for (int i = 0; i < forSort.length; i++) { - forSort[i]=values[i]; + forSort[i] = values[i]; } //Insertion Sort @@ -165,7 +165,14 @@ public int[] sort(int[] values) { */ @Override public boolean isPrimary(int number) { - return false; + boolean check = true; + for (int j = 2; j <= number / j; j++) { + if ((number % j) == 0) { + check = false; + break; + } + } + return check; } /** From cde58cf1a255232b6d8d306260955da424254b25 Mon Sep 17 00:00:00 2001 From: EvVlF Date: Tue, 22 Mar 2022 02:13:19 +0400 Subject: [PATCH 9/9] reverseArray method added --- .../com/epam/izh/rd/online/service/SimpleMathService.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java index 42d0e4ec..d918d638 100644 --- a/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java +++ b/src/main/java/com/epam/izh/rd/online/service/SimpleMathService.java @@ -182,6 +182,10 @@ public boolean isPrimary(int number) { */ @Override public int[] reverseArray(int[] values) { - return new int[]{}; + int[] reverseArray = new int[values.length]; + for (int i = 0; i < reverseArray.length; i++) { + reverseArray[i] = values[values.length - i - 1]; + } + return reverseArray; } }