From 7d40f294e36e482d3afc17255da81909e1caaf40 Mon Sep 17 00:00:00 2001 From: Valerii Glavatskih Date: Sat, 3 Apr 2021 23:14:10 +0400 Subject: [PATCH 1/3] 2 errors left --- java-basics-template.iml | 22 ++++++ .../rd/online/service/SimpleMathService.java | 73 ++++++++++++++++--- 2 files changed, 85 insertions(+), 10 deletions(-) create mode 100644 java-basics-template.iml diff --git a/java-basics-template.iml b/java-basics-template.iml new file mode 100644 index 00000000..038395da --- /dev/null +++ b/java-basics-template.iml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file 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..1fda15e9 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 @@ -1,5 +1,9 @@ package com.epam.izh.rd.online.service; +import java.math.BigInteger; + +import static java.lang.Math.sqrt; + public class SimpleMathService implements MathService { /** @@ -13,8 +17,13 @@ public class SimpleMathService implements MathService { */ @Override public int compare(int value1, int value2) { - return -2; - } + if (value1 == value2) { + return 0;} + else if (value1 < value2) { + return -1;} + else { + return 1; } + } /** * Метод возвращает максимальное число из пары. @@ -22,7 +31,11 @@ public int compare(int value1, int value2) { */ @Override public int maxFrom(int value1, int value2) { - return -1; + if (value1 > value2) { + return value1; } + else { + return value2; + } } /** @@ -31,16 +44,27 @@ public int maxFrom(int value1, int value2) { */ @Override public int maxFrom(int[] values) { - return -1; + int maxValue = 0; + for (int i = 0; i < values.length; i++) { + if (values[i] > maxValue) { + maxValue = values[i]; + } + } + return maxValue; } + /** * Метод возвращает сумму чисел массива. * Например для списка {-1, -3, 4, 8, 5, 22, -5} метод должен вернуть 30 */ @Override public int sum(int[] values) { - return -1; + int sumArray = 0; + for (int i=0; i < values.length; i++){ + sumArray +=values[i]; + } + return sumArray; } /** @@ -49,7 +73,15 @@ public int sum(int[] values) { */ @Override public int[] getEvenDigits(int[] values) { - return new int[]{}; + int countOfEven = 0; + for (int i =0; i < values.length; i++){ + if (values[i] % 2 == 0) { + countOfEven++; + } + } + int[] evenArray = new int[countOfEven]; + + return evenArray; } /** @@ -59,7 +91,11 @@ public int[] getEvenDigits(int[] values) { */ @Override public long calcFactorial(int initialVal) { - return -1L; + if (initialVal <= 1) { + return 1; + } else { + return initialVal * calcFactorial(initialVal - 1); + } } /** @@ -74,7 +110,13 @@ public long calcFactorial(int initialVal) { */ @Override public long calcFibonacci(int number) { - return -1L; + if (number <= 0) { + return 0; + } else if (number == 1) { + return 1; + } else { + return calcFibonacci(number - 1) + calcFibonacci(number - 2); + } } /** @@ -94,9 +136,13 @@ public int[] sort(int[] values) { */ @Override public boolean isPrimary(int number) { - return false; + for (int i = 2; i <= sqrt(number); i++){ + if (number % i == 0) return false; + } + return true; } + /** * Метод возвращает массив, в котором элементы расположены в обратном порядке. * @@ -104,6 +150,13 @@ public boolean isPrimary(int number) { */ @Override public int[] reverseArray(int[] values) { - return new int[]{}; + int[] reverseArray = new int[values.length]; + int reveseCaunt = values.length - 1; + for (int i = 0; i < values.length; i++){ + reverseArray[reveseCaunt] = values[i]; + reveseCaunt--; + } + return reverseArray; + } } From be5517a5069684c8fe7f649214e41957d9527ee8 Mon Sep 17 00:00:00 2001 From: Valerii Glavatskih Date: Sun, 4 Apr 2021 00:00:49 +0400 Subject: [PATCH 2/3] 0 error left --- .../rd/online/service/SimpleMathService.java | 21 ++++++++++++++++++- 1 file changed, 20 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 1fda15e9..9bfb0947 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 @@ -80,6 +80,12 @@ public int[] getEvenDigits(int[] values) { } } int[] evenArray = new int[countOfEven]; + for (int i = 0, j = 0; i < values.length; i++){ + if (values[i] % 2 == 0){ + evenArray[j] = values[i]; + j++; + } + } return evenArray; } @@ -125,7 +131,20 @@ public long calcFibonacci(int number) { */ @Override public int[] sort(int[] values) { - return new int[]{}; + for (int i = 0; i < values.length; i++){ + int min = values[i]; + int minId = i; + for (int j = i + 1; j < values.length; j++) { + if (values[j] < min) { + min = values[j]; + minId = j; + } + } + int temp = values[i]; + values[i] = min; + values[minId] = temp; + } + return values; } /** From c9c7e770009c23f9878778e88fc38e3cb397623a Mon Sep 17 00:00:00 2001 From: Valerii Glavatskih Date: Sun, 4 Apr 2021 00:00:49 +0400 Subject: [PATCH 3/3] 0 error left --- .../rd/online/service/SimpleMathService.java | 23 +++++++++++++++++-- 1 file changed, 21 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 1fda15e9..27848ab3 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 @@ -1,6 +1,6 @@ package com.epam.izh.rd.online.service; -import java.math.BigInteger; +//import java.math.BigInteger; import static java.lang.Math.sqrt; @@ -80,6 +80,12 @@ public int[] getEvenDigits(int[] values) { } } int[] evenArray = new int[countOfEven]; + for (int i = 0, j = 0; i < values.length; i++){ + if (values[i] % 2 == 0){ + evenArray[j] = values[i]; + j++; + } + } return evenArray; } @@ -125,7 +131,20 @@ public long calcFibonacci(int number) { */ @Override public int[] sort(int[] values) { - return new int[]{}; + for (int i = 0; i < values.length; i++){ + int min = values[i]; + int minId = i; + for (int j = i + 1; j < values.length; j++) { + if (values[j] < min) { + min = values[j]; + minId = j; + } + } + int temp = values[i]; + values[i] = min; + values[minId] = temp; + } + return values; } /**