From 4078f5915901764c899cc5737a0fbc6ff5ff583f Mon Sep 17 00:00:00 2001 From: Dmitrii Prikhozhaev Date: Mon, 18 Nov 2019 17:50:17 +0400 Subject: [PATCH 1/7] add come content --- .../java/com/epam/izh/rd/online/service/SimpleMathService.java | 3 +++ 1 file changed, 3 insertions(+) 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 2921576..27da0aa 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 @@ -13,6 +13,7 @@ public class SimpleMathService implements MathService { */ @Override public int compare(int value1, int value2) { + int x return -2; } @@ -22,6 +23,7 @@ public int compare(int value1, int value2) { */ @Override public int maxFrom(int value1, int value2) { + return -1; } @@ -31,6 +33,7 @@ public int maxFrom(int value1, int value2) { */ @Override public int maxFrom(int[] values) { + return -1; } From 85c77f19ead64b2a229478eb2a078220563921de Mon Sep 17 00:00:00 2001 From: Dmitrii Prikhozhaev Date: Mon, 18 Nov 2019 18:01:45 +0400 Subject: [PATCH 2/7] add method maxFrom(int value1, int value2) --- .../rd/online/service/SimpleMathService.java | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 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 27da0aa..f9aaf69 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,13 @@ 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) { - int x return -2; } @@ -23,8 +22,15 @@ public int compare(int value1, int value2) { */ @Override public int maxFrom(int value1, int value2) { - - return -1; + int x = -1; + int y = 2; + int max; + if (x > y) { + max = x; + } else { + max = y; + } + return max; } /** @@ -67,11 +73,11 @@ public long calcFactorial(int initialVal) { /** * Метод возвращает число, которе находится на заданной позиции (счет начинается с нуля) в ряду фибоначчи. - * + *

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

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

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

* Например для массива {-1, -3, 4, 8, 5, 22, -5} метод вернет {-5, 22, 5, 8, 4, -3, -1} */ @Override From 3e5e961757e10d4c87bfdf35b62d2073f4ee7c49 Mon Sep 17 00:00:00 2001 From: Dmitrii Prikhozhaev Date: Mon, 18 Nov 2019 18:48:28 +0400 Subject: [PATCH 3/7] add new method --- .../rd/online/service/SimpleMathService.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 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 f9aaf69..fe74f4e 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 @@ -39,8 +39,14 @@ public int maxFrom(int value1, int value2) { */ @Override public int maxFrom(int[] values) { - - return -1; + int array[] = new int[]{1, 3, 5, 7, 8}; + int maxValue = array[0]; + for (int i = 1; i < array.length; i++) { + if (array[i] > maxValue) { + maxValue = array[i]; + } + } + return maxValue; } /** @@ -49,7 +55,12 @@ public int maxFrom(int[] values) { */ @Override public int sum(int[] values) { - return -1; + int array[] = {-6, 5, -2, 78}; + int sum = 0; + for (int i = 0; i < array.length; i++) { + sum = sum + array[i]; + } + return sum; } /** From 22e73d432adf92927d1e45913adb3e56f1ac1dfe Mon Sep 17 00:00:00 2001 From: Dmitrii Prikhozhaev Date: Thu, 21 Nov 2019 17:49:43 +0400 Subject: [PATCH 4/7] add new method --- .../rd/online/service/SimpleMathService.java | 68 ++++++++++++++++--- 1 file changed, 58 insertions(+), 10 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 fe74f4e..cdba566 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 @@ -13,7 +13,17 @@ public class SimpleMathService implements MathService { */ @Override public int compare(int value1, int value2) { - return -2; + int val1 = 33; + int val2 = 2; + int ret = 0; + if (val1 == val2) { + ret = 0; + } else if (val1 < val2) { + ret = -1; + } else if (val1 < val2) { + ret = 1; + } + return ret; } /** @@ -24,12 +34,7 @@ public int compare(int value1, int value2) { public int maxFrom(int value1, int value2) { int x = -1; int y = 2; - int max; - if (x > y) { - max = x; - } else { - max = y; - } + int max = x > y ? x : y; return max; } @@ -67,9 +72,26 @@ public int sum(int[] values) { * Метод фильтрует массив, оставляя только четные числа. * Например для списка {-1, -3, 4, 8, 5, 22, 17} метод должен вернуть {4, 8, 22} */ + int[] data = {-6,5,-2,78}; + @Override public int[] getEvenDigits(int[] values) { - return new int[]{}; + int countLength = 0; + for (int i = 0; i < data.length; i++) { + if (data[i] % 2 == 0) { + countLength++; + } + } + + int[] filArray = new int[countLength]; + int j = 0; + for (int i = 0; i < data.length; i++) { + if (data[i] % 2 == 0) { + filArray[j] = data[i]; + j++; + } + } + return filArray; } /** @@ -77,9 +99,18 @@ public int[] getEvenDigits(int[] values) { * Например для числа 5 метод должен вернуть 120. * Факториал 0 должен быть равен 1. */ + static int value = 0; + @Override public long calcFactorial(int initialVal) { - return -1L; + int fact = 1; + int i = 1; + + while (i <= value) { + fact = fact * i; + i++; + } + return fact; } /** @@ -112,11 +143,28 @@ public int[] sort(int[] values) { *

* Например для числа 22 вернется false, а для числа 23 true. */ + static int var = 2; + static int n = 21; + @Override public boolean isPrimary(int number) { - return false; + boolean answer = false; + + if (n > 1) { + if (n % var != 0) { + var++; + isPrimary(n); + } else if (var == n) { + answer = true; + } else { + answer = false; + } + + } + return answer; } + /** * Метод возвращает массив, в котором элементы расположены в обратном порядке. *

From fd781b0d80dd76ae6b0043de9caf90283da654ae Mon Sep 17 00:00:00 2001 From: Dmitrii Prikhozhaev Date: Thu, 21 Nov 2019 20:20:40 +0400 Subject: [PATCH 5/7] all methods implemented --- .../rd/online/service/SimpleMathService.java | 48 +++++++++++++++++-- 1 file changed, 43 insertions(+), 5 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 cdba566..967f9c9 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 @@ -72,7 +72,7 @@ public int sum(int[] values) { * Метод фильтрует массив, оставляя только четные числа. * Например для списка {-1, -3, 4, 8, 5, 22, 17} метод должен вернуть {4, 8, 22} */ - int[] data = {-6,5,-2,78}; + int[] data = {-6, 5, -2, 78}; @Override public int[] getEvenDigits(int[] values) { @@ -99,7 +99,7 @@ public int[] getEvenDigits(int[] values) { * Например для числа 5 метод должен вернуть 120. * Факториал 0 должен быть равен 1. */ - static int value = 0; + static int value = 8; @Override public long calcFactorial(int initialVal) { @@ -123,18 +123,48 @@ public long calcFactorial(int initialVal) { * Для числа 9 метод должен вернуть 34 * Для числа 0 метод должен вернуть 0 */ + int positionInFibonacci = 11; + @Override public long calcFibonacci(int number) { - return -1L; + int n0 = 0, n1 = 1, i = 0, fibPosition = 0; + if (positionInFibonacci == 1) { + fibPosition = 1; + } else { + while (i < positionInFibonacci - 1) { + fibPosition = n0 + n1; + n0 = n1; + n1 = fibPosition; + i++; + } + } + return fibPosition; } /** * Метод возвращает отсортированный по возрастанию массив. * Например для массива {-1, -3, 4, 8, 5, 22, -5} метод должен вернуть {-5, -3, -1, 4, 5, 8, 22} */ + int[] arr = {-1, -3, 4, 8, 5, 22, -5}; + @Override public int[] sort(int[] values) { - return new int[]{}; + /*Внешний цикл каждый раз сокращает фрагмент массива, + так как внутренний цикл каждый раз ставит в конец + фрагмента максимальный элемент*/ + for (int i = arr.length - 1; i > 0; i--) { + for (int j = 0; j < i; j++) { + + if (arr[j] > arr[j + 1]) { + int tmp = arr[j]; + arr[j] = arr[j + 1]; + arr[j + 1] = tmp; + } + } + + + } + return arr; } /** @@ -172,6 +202,14 @@ public boolean isPrimary(int number) { */ @Override public int[] reverseArray(int[] values) { - return new int[]{}; + int[] array = {-1, -3, 4, 8, 5, 22, -5}; + int n = array.length; + int temp; + for (int i = 0; i < n / 2; i++) { + temp = array[n - i - 1]; + array[n - i - 1] = array[i]; + array[i] = temp; + } + return array; } } From 55b7ac9bb2558ca9101bcdeaed0fc85fd1a4325f Mon Sep 17 00:00:00 2001 From: Dmitrii Prikhozhaev Date: Sat, 23 Nov 2019 16:17:35 +0400 Subject: [PATCH 6/7] finish --- .../rd/online/service/SimpleMathService.java | 85 +++++++++---------- 1 file changed, 38 insertions(+), 47 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 967f9c9..7749917 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 @@ -13,14 +13,14 @@ public class SimpleMathService implements MathService { */ @Override public int compare(int value1, int value2) { - int val1 = 33; - int val2 = 2; + int val1 = -10;//data for test + int val2 = -1;//data for test int ret = 0; if (val1 == val2) { ret = 0; } else if (val1 < val2) { ret = -1; - } else if (val1 < val2) { + } else if (val1 > val2) { ret = 1; } return ret; @@ -32,8 +32,8 @@ public int compare(int value1, int value2) { */ @Override public int maxFrom(int value1, int value2) { - int x = -1; - int y = 2; + int x = -1;// data for test + int y = 2;//data for test int max = x > y ? x : y; return max; } @@ -44,7 +44,7 @@ public int maxFrom(int value1, int value2) { */ @Override public int maxFrom(int[] values) { - int array[] = new int[]{1, 3, 5, 7, 8}; + int array[] = new int[]{1, 3, 5, 7, 8};//data for test int maxValue = array[0]; for (int i = 1; i < array.length; i++) { if (array[i] > maxValue) { @@ -60,7 +60,7 @@ public int maxFrom(int[] values) { */ @Override public int sum(int[] values) { - int array[] = {-6, 5, -2, 78}; + int array[] = {-6, 5, -2, 78};//data for test int sum = 0; for (int i = 0; i < array.length; i++) { sum = sum + array[i]; @@ -72,26 +72,24 @@ public int sum(int[] values) { * Метод фильтрует массив, оставляя только четные числа. * Например для списка {-1, -3, 4, 8, 5, 22, 17} метод должен вернуть {4, 8, 22} */ - int[] data = {-6, 5, -2, 78}; - @Override public int[] getEvenDigits(int[] values) { + int[] data = {-6, 5, -2, 78};//data for test int countLength = 0; for (int i = 0; i < data.length; i++) { if (data[i] % 2 == 0) { countLength++; } } - - int[] filArray = new int[countLength]; + int[] theFilteredArray = new int[countLength]; int j = 0; for (int i = 0; i < data.length; i++) { if (data[i] % 2 == 0) { - filArray[j] = data[i]; + theFilteredArray[j] = data[i]; j++; } } - return filArray; + return theFilteredArray; } /** @@ -99,10 +97,9 @@ public int[] getEvenDigits(int[] values) { * Например для числа 5 метод должен вернуть 120. * Факториал 0 должен быть равен 1. */ - static int value = 8; - @Override public long calcFactorial(int initialVal) { + int value = 9; //data for test int fact = 1; int i = 1; @@ -123,11 +120,13 @@ public long calcFactorial(int initialVal) { * Для числа 9 метод должен вернуть 34 * Для числа 0 метод должен вернуть 0 */ - int positionInFibonacci = 11; - @Override public long calcFibonacci(int number) { - int n0 = 0, n1 = 1, i = 0, fibPosition = 0; + int positionInFibonacci = 11; //data for test + int n0 = 0; + int n1 = 1; + int i = 0; + int fibPosition = 0; if (positionInFibonacci == 1) { fibPosition = 1; } else { @@ -145,26 +144,19 @@ public long calcFibonacci(int number) { * Метод возвращает отсортированный по возрастанию массив. * Например для массива {-1, -3, 4, 8, 5, 22, -5} метод должен вернуть {-5, -3, -1, 4, 5, 8, 22} */ - int[] arr = {-1, -3, 4, 8, 5, 22, -5}; - @Override public int[] sort(int[] values) { - /*Внешний цикл каждый раз сокращает фрагмент массива, - так как внутренний цикл каждый раз ставит в конец - фрагмента максимальный элемент*/ - for (int i = arr.length - 1; i > 0; i--) { + int[] array = {-1, -3, 4, 8, 5, 22, -5}; //data for test + for (int i = array.length - 1; i > 0; i--) { for (int j = 0; j < i; j++) { - - if (arr[j] > arr[j + 1]) { - int tmp = arr[j]; - arr[j] = arr[j + 1]; - arr[j + 1] = tmp; + if (array[j] > array[j + 1]) { + int tmp = array[j]; + array[j] = array[j + 1]; + array[j + 1] = tmp; } } - - } - return arr; + return array; } /** @@ -173,23 +165,22 @@ public int[] sort(int[] values) { *

* Например для числа 22 вернется false, а для числа 23 true. */ - static int var = 2; - static int n = 21; + private static int var = 2; @Override public boolean isPrimary(int number) { - boolean answer = false; - if (n > 1) { - if (n % var != 0) { + int num = 23; //data for test + boolean answer = false; + if (num > 1) { + if (num % var != 0) { var++; - isPrimary(n); - } else if (var == n) { + isPrimary(num); + } else if (var == num) { answer = true; } else { answer = false; } - } return answer; } @@ -202,13 +193,13 @@ public boolean isPrimary(int number) { */ @Override public int[] reverseArray(int[] values) { - int[] array = {-1, -3, 4, 8, 5, 22, -5}; - int n = array.length; - int temp; - for (int i = 0; i < n / 2; i++) { - temp = array[n - i - 1]; - array[n - i - 1] = array[i]; - array[i] = temp; + int[] array = {-1, -3, 4, 8, 5, 22, -5}; //data for test + int arrayLength = array.length; + int num; + for (int i = 0; i < arrayLength / 2; i++) { + num = array[arrayLength - i - 1]; + array[arrayLength - i - 1] = array[i]; + array[i] = num; } return array; } From 14da3f3735b0d3cc1468fd731298a8fdd7f907e3 Mon Sep 17 00:00:00 2001 From: Dmitrii Prikhozhaev Date: Wed, 27 Nov 2019 18:22:02 +0400 Subject: [PATCH 7/7] fix that sh*t, sorry about that. --- .../rd/online/service/SimpleMathService.java | 95 ++++++++----------- 1 file changed, 37 insertions(+), 58 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 7749917..5648563 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 @@ -13,17 +13,13 @@ public class SimpleMathService implements MathService { */ @Override public int compare(int value1, int value2) { - int val1 = -10;//data for test - int val2 = -1;//data for test - int ret = 0; - if (val1 == val2) { - ret = 0; - } else if (val1 < val2) { - ret = -1; - } else if (val1 > val2) { - ret = 1; + if (value1 == value2){ + return 0; + } else if (value1 < value2) { + return -1; + } else { + return 1; } - return ret; } /** @@ -32,9 +28,7 @@ public int compare(int value1, int value2) { */ @Override public int maxFrom(int value1, int value2) { - int x = -1;// data for test - int y = 2;//data for test - int max = x > y ? x : y; + int max = value1 > value2 ? value1 : value2; return max; } @@ -44,11 +38,10 @@ public int maxFrom(int value1, int value2) { */ @Override public int maxFrom(int[] values) { - int array[] = new int[]{1, 3, 5, 7, 8};//data for test - int maxValue = array[0]; - for (int i = 1; i < array.length; i++) { - if (array[i] > maxValue) { - maxValue = array[i]; + int maxValue = values[0]; + for (int i = 1; i < values.length; i++) { + if (values[i] > maxValue) { + maxValue = values[i]; } } return maxValue; @@ -60,10 +53,9 @@ public int maxFrom(int[] values) { */ @Override public int sum(int[] values) { - int array[] = {-6, 5, -2, 78};//data for test int sum = 0; - for (int i = 0; i < array.length; i++) { - sum = sum + array[i]; + for (int i = 0; i < values.length; i++) { + sum = sum + values[i]; } return sum; } @@ -74,18 +66,17 @@ public int sum(int[] values) { */ @Override public int[] getEvenDigits(int[] values) { - int[] data = {-6, 5, -2, 78};//data for test int countLength = 0; - for (int i = 0; i < data.length; i++) { - if (data[i] % 2 == 0) { + for (int i = 0; i < values.length; i++) { + if (values[i] % 2 == 0) { countLength++; } } int[] theFilteredArray = new int[countLength]; int j = 0; - for (int i = 0; i < data.length; i++) { - if (data[i] % 2 == 0) { - theFilteredArray[j] = data[i]; + for (int i = 0; i < values.length; i++) { + if (values[i] % 2 == 0) { + theFilteredArray[j] = values[i]; j++; } } @@ -99,11 +90,10 @@ public int[] getEvenDigits(int[] values) { */ @Override public long calcFactorial(int initialVal) { - int value = 9; //data for test int fact = 1; int i = 1; - while (i <= value) { + while (i <= initialVal) { fact = fact * i; i++; } @@ -122,15 +112,14 @@ public long calcFactorial(int initialVal) { */ @Override public long calcFibonacci(int number) { - int positionInFibonacci = 11; //data for test int n0 = 0; int n1 = 1; int i = 0; int fibPosition = 0; - if (positionInFibonacci == 1) { + if (number == 1) { fibPosition = 1; } else { - while (i < positionInFibonacci - 1) { + while (i < number - 1) { fibPosition = n0 + n1; n0 = n1; n1 = fibPosition; @@ -146,17 +135,16 @@ public long calcFibonacci(int number) { */ @Override public int[] sort(int[] values) { - int[] array = {-1, -3, 4, 8, 5, 22, -5}; //data for test - for (int i = array.length - 1; i > 0; i--) { + for (int i = values.length - 1; i > 0; i--) { for (int j = 0; j < i; j++) { - if (array[j] > array[j + 1]) { - int tmp = array[j]; - array[j] = array[j + 1]; - array[j + 1] = tmp; + if (values[j] > values[j + 1]) { + int tmp = values[j]; + values[j] = values[j + 1]; + values[j + 1] = tmp; } } } - return array; + return values; } /** @@ -165,24 +153,16 @@ public int[] sort(int[] values) { *

* Например для числа 22 вернется false, а для числа 23 true. */ - private static int var = 2; + @Override public boolean isPrimary(int number) { - - int num = 23; //data for test - boolean answer = false; - if (num > 1) { - if (num % var != 0) { - var++; - isPrimary(num); - } else if (var == num) { - answer = true; - } else { - answer = false; + for (int i = 2; i <= number/2; i++) { + if (number % i == 0) { + return false; } } - return answer; + return true; } @@ -193,14 +173,13 @@ public boolean isPrimary(int number) { */ @Override public int[] reverseArray(int[] values) { - int[] array = {-1, -3, 4, 8, 5, 22, -5}; //data for test - int arrayLength = array.length; + int arrayLength = values.length; int num; for (int i = 0; i < arrayLength / 2; i++) { - num = array[arrayLength - i - 1]; - array[arrayLength - i - 1] = array[i]; - array[i] = num; + num = values[arrayLength - i - 1]; + values[arrayLength - i - 1] = values[i]; + values[i] = num; } - return array; + return values; } }