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..187c182 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,19 +1,23 @@ package com.epam.izh.rd.online.service; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + 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;
+ return Integer.compare(value1, value2);
}
/**
@@ -22,7 +26,7 @@ public int compare(int value1, int value2) {
*/
@Override
public int maxFrom(int value1, int value2) {
- return -1;
+ return Math.max(value1, value2);
}
/**
@@ -31,7 +35,7 @@ public int maxFrom(int value1, int value2) {
*/
@Override
public int maxFrom(int[] values) {
- return -1;
+ return Arrays.stream(values).max().getAsInt();
}
/**
@@ -40,7 +44,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;
}
/**
@@ -49,7 +57,21 @@ public int sum(int[] values) {
*/
@Override
public int[] getEvenDigits(int[] values) {
- return new int[]{};
+ List
* Ряд фибоначчи - ряд, следующие элементы которого состоят из суммы двух предыдущих.
* Ряд начинается 0 и 1.
* Пример 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 ...
- *
+ *
* Для числа 9 метод должен вернуть 34
* Для числа 0 метод должен вернуть 0
*/
@Override
public long calcFibonacci(int number) {
- return -1L;
+ if (number == 0)
+ return 0;
+ if (number <= 2)
+ return 1;
+ else
+ return calcFibonacci(number - 1) + calcFibonacci(number - 2);
}
/**
@@ -83,27 +115,42 @@ public long calcFibonacci(int number) {
*/
@Override
public int[] sort(int[] values) {
- return new int[]{};
+ Arrays.sort(values);
+ return values;
}
/**
* Метод определяет, является ли заданное число простым.
* Простое число - число, которое делится только на 1 и на само себя.
- *
+ *
* Например для числа 22 вернется false, а для числа 23 true.
*/
@Override
public boolean isPrimary(int number) {
- return false;
+ boolean flag = true;
+ for(int i =2; i