From 2a8bbed5aefa6e266607019b7f505f2c40eb0b61 Mon Sep 17 00:00:00 2001 From: Yaro4Java Date: Sat, 21 Dec 2019 01:37:27 +0300 Subject: [PATCH 1/8] adding methods implementations and debugging them --- .../com/epam/izh/rd/online/JavaBasics.java | 95 +++++++++++++++++++ .../rd/online/service/SimpleMathService.java | 52 ++++++++-- 2 files changed, 141 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/epam/izh/rd/online/JavaBasics.java b/src/main/java/com/epam/izh/rd/online/JavaBasics.java index 9752bdd..53bff47 100644 --- a/src/main/java/com/epam/izh/rd/online/JavaBasics.java +++ b/src/main/java/com/epam/izh/rd/online/JavaBasics.java @@ -1,7 +1,102 @@ package com.epam.izh.rd.online; +import com.epam.izh.rd.online.service.MathService; +import com.epam.izh.rd.online.service.SimpleMathService; + public class JavaBasics { public static void main(String[] args) { + {/* SECTION FOR DEBUGGING MaxFrom(array) METHOD ALGORITHM */ + + //Input parameters + int val[] = {-1, -3, 477, 8, 55, 22, -5}; + //MaxFrom(array) algorithm implementation + int ma = val[0]; + + for (int n = 1; n < val.length; n++) { + if (val[n] > ma) + ma = val[n]; + } + + //Building string of array elements + String s = "{" + String.valueOf(val[0]); + for (int k = 1; k < val.length; k++) { + s = s + ", " + String.valueOf(val[k]); + if (val[k] == ma) + s = s + '*'; + } + s = s + "}"; + + //Typing out the result of analysis + System.out.println("MaxFrom(array): Number " + ma + " is the maximum value within the given array: " + s); + + }/* END OF MaxFrom(array) DEBUGGING SECTION */ + + {/* SECTION FOR DEBUGGING sum(array) METHOD ALGORITHM */ + + //Input parameters + int a[] = {1, 2, 0}; //{-1, -3, 4, 8, 5, 22, -5} + + //sum(array) algorithm implementation + if (a.length == 0) { + System.out.println("sum(array): The sum is 0 because the given array is void: {}"); + } else { + int total = a[0]; + + for (int n = 1; n < a.length; n++) { + total = total + a[n]; + } + + //Building string of array elements + String s = "{" + String.valueOf(a[0]); + for (int k = 1; k < a.length; k++) { + s = s + ", " + String.valueOf(a[k]); + } + s = s + "}"; + + //Typing out the result of analysis + System.out.println("sum(array): The sum of all elements of the given array " + s + " is " + total); + } + }/* END OF sum(array) DEBUGGING SECTION */ + + + {/* SECTION FOR DEBUGGING reverseArray(array) METHOD ALGORITHM */ + + //Input parameters + int arr[] = {-1, -3, 25, 100}; //{-1, -3, 4, 8, 5, 22, -5}; + + //Building string of input array elements + String in = "{" + String.valueOf(arr[0]); + for (int k = 1; k < arr.length; k++) { + in = in + ", " + String.valueOf(arr[k]); + } + in = in + "}"; + + //Implementation of the reverseArray(array) algorithm + int temp; + int length = arr.length; + + for (int n = 0; n < (length - n); n++) { + temp = arr[n]; + arr[n] = arr[length - n - 1]; + arr[length - n - 1] = temp; + } + + //Building string of output array elements + String out = "{" + String.valueOf(arr[0]); + for (int k = 1; k < length; k++) { + out = out + ", " + String.valueOf(arr[k]); + } + out = out + "}"; + + //Typing out the result of analysis + System.out.println("reverseArray(array): The array " + out + " is reverse to the given array: " + in); + + }/* END OF reverseArray(array) DEBUGGING SECTION */ + + + + + } } 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..2ecc1e2 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,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 +28,11 @@ public int compare(int value1, int value2) { */ @Override public int maxFrom(int value1, int value2) { - return -1; + + if(value1 > value1) + return value1; + else + return value2; } /** @@ -31,7 +41,15 @@ public int maxFrom(int value1, int value2) { */ @Override public int maxFrom(int[] values) { - return -1; + + int maximum = values[0]; + + for(int n=1; n < values.length; n++) { + if (values[n] > maximum) + maximum = values[n]; + } + + return maximum; } /** @@ -40,7 +58,19 @@ public int maxFrom(int[] values) { */ @Override public int sum(int[] values) { - return -1; + + if(values.length == 0) { + return 0; + } + else { + int total = values[0]; + + for (int n = 1; n < values.length; n++) { + total = total + values[n]; + } + + return total; + } } /** @@ -63,7 +93,7 @@ public long calcFactorial(int initialVal) { } /** - * Метод возвращает число, которе находится на заданной позиции (счет начинается с нуля) в ряду фибоначчи. + * Метод возвращает число, которое находится на заданной позиции (счет начинается с нуля) в ряду фибоначчи. * * Ряд фибоначчи - ряд, следующие элементы которого состоят из суммы двух предыдущих. * Ряд начинается 0 и 1. @@ -104,6 +134,16 @@ public boolean isPrimary(int number) { */ @Override public int[] reverseArray(int[] values) { - return new int[]{}; + + int temp; + int length = values.length; + + for(int n=0; n < (length - n); n++) { + temp = values[n]; + values[n] = values[length - n -1]; + values[length - n -1] = temp; + } + + return values; } } From e1a001dad6626ab707f088fc6c66bb080ee3adc6 Mon Sep 17 00:00:00 2001 From: Yaro4Java Date: Sat, 21 Dec 2019 14:36:43 +0300 Subject: [PATCH 2/8] adding methods implementations and debugging them --- .../com/epam/izh/rd/online/JavaBasics.java | 27 ++++++++++++++++++- .../rd/online/service/SimpleMathService.java | 15 ++++++++++- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/epam/izh/rd/online/JavaBasics.java b/src/main/java/com/epam/izh/rd/online/JavaBasics.java index 53bff47..d9de800 100644 --- a/src/main/java/com/epam/izh/rd/online/JavaBasics.java +++ b/src/main/java/com/epam/izh/rd/online/JavaBasics.java @@ -60,6 +60,31 @@ public static void main(String[] args) { }/* END OF sum(array) DEBUGGING SECTION */ + {/* SECTION FOR DEBUGGING isPrimary() METHOD ALGORITHM */ + + //Input parameters + int i = 4; //Например для числа 22 вернется false, а для числа 23 true. + + //Implementation of the isPrimary() algorithm + boolean isPrime = true; + + if(i < 2){ + isPrime = false; + } else { + for (int n = 2; n < i; n++) { + if((i % n) == 0 ){ + isPrime = false; + } + } + } + + //Typing out the result of analysis + String negative = isPrime ? "" : " not"; + System.out.println("isPrimary(): " + i + " is" + negative + " a prime number"); + + }/* END OF isPrimary() DEBUGGING SECTION */ + + {/* SECTION FOR DEBUGGING reverseArray(array) METHOD ALGORITHM */ //Input parameters @@ -90,7 +115,7 @@ public static void main(String[] args) { out = out + "}"; //Typing out the result of analysis - System.out.println("reverseArray(array): The array " + out + " is reverse to the given array: " + in); + System.out.println("reverseArray(array): The array " + out + " is reverse to the given one: " + in); }/* END OF reverseArray(array) DEBUGGING SECTION */ 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 2ecc1e2..877dc9f 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 @@ -124,7 +124,20 @@ public int[] sort(int[] values) { */ @Override public boolean isPrimary(int number) { - return false; + + boolean isPrime = true; + + if(number < 2){ + isPrime = false; + } else { + for (int n = 2; n < number; n++) { + if((number % n) == 0 ){ + isPrime = false; + } + } + } + + return isPrime; } /** From 6d74396a0b507d6f2cb0b541778f3f304fb40cb9 Mon Sep 17 00:00:00 2001 From: Yaro4Java Date: Sun, 22 Dec 2019 00:27:39 +0300 Subject: [PATCH 3/8] adding method getEvenDigits() implementation and debugging it --- .../com/epam/izh/rd/online/JavaBasics.java | 61 +++++++++++++++++-- .../rd/online/service/SimpleMathService.java | 24 +++++++- 2 files changed, 79 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/epam/izh/rd/online/JavaBasics.java b/src/main/java/com/epam/izh/rd/online/JavaBasics.java index d9de800..09eeb21 100644 --- a/src/main/java/com/epam/izh/rd/online/JavaBasics.java +++ b/src/main/java/com/epam/izh/rd/online/JavaBasics.java @@ -10,6 +10,7 @@ public static void main(String[] args) { //Input parameters int val[] = {-1, -3, 477, 8, 55, 22, -5}; + //MaxFrom(array) algorithm implementation int ma = val[0]; @@ -32,6 +33,7 @@ public static void main(String[] args) { }/* END OF MaxFrom(array) DEBUGGING SECTION */ + {/* SECTION FOR DEBUGGING sum(array) METHOD ALGORITHM */ //Input parameters @@ -60,6 +62,60 @@ public static void main(String[] args) { }/* END OF sum(array) DEBUGGING SECTION */ + {/* SECTION FOR DEBUGGING getEvenDigits(array) METHOD ALGORITHM */ + + //Input parameters + int arr[] = {5, 4, 1, 1}; //для списка {-1, -3, 4, 8, 5, 22, 17} метод должен вернуть {4, 8, 22} + + //Building string of input array elements + String in = "{" + String.valueOf(arr[0]); + for (int k = 1; k < arr.length; k++) { + in = in + ", " + String.valueOf(arr[k]); + } + in = in + "}"; + + //Implementation of the getEvenDigits(array) algorithm + int size = 0; + + //Counting even numbers + for (int n = 0; n < arr.length; n++) { + if((arr[n] % 2) == 0){ + size++; + } + } + + //Creating new array for even digits + int even[] = new int[size]; + + if(size > 0) { + //Filling even digits array + for (int n = 0, pos = 0; n < arr.length; n++) { + if ((arr[n] % 2) == 0) { + even[pos++] = arr[n]; + } + } + } + + String out = "";//String to write output array elements + + if(size > 0) { + //Building string of output array elements + out = "{" + String.valueOf(even[0]); + for (int k = 1; k < even.length; k++) { + out = out + ", " + String.valueOf(even[k]); + } + out = out + "}"; + } + + //Typing out the result of analysis + if(size == 0) { + System.out.println("getEvenDigits(array): There are no even digits within the given array " + in); + } else { + System.out.println("getEvenDigits(array): The even digits from the given array " + in + " are as follows: " + out); + } + }/* END OF getEvenDigits(array) DEBUGGING SECTION */ + + {/* SECTION FOR DEBUGGING isPrimary() METHOD ALGORITHM */ //Input parameters @@ -118,10 +174,5 @@ public static void main(String[] args) { System.out.println("reverseArray(array): The array " + out + " is reverse to the given one: " + in); }/* END OF reverseArray(array) DEBUGGING SECTION */ - - - - - } } 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 877dc9f..349afc4 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 @@ -79,7 +79,29 @@ public int sum(int[] values) { */ @Override public int[] getEvenDigits(int[] values) { - return new int[]{}; + + int size = 0; + + //Counting even numbers + for (int n = 0; n < values.length; n++) { + if((values[n] % 2) == 0){ + size++; + } + } + + //Creating new array for even digits + int even[] = new int[size]; + + if(size > 0) { + //Filling even digits array + for (int n = 0, pos = 0; n < values.length; n++) { + if ((values[n] % 2) == 0) { + even[pos++] = values[n]; + } + } + } + + return even; } /** From 0dd0633c9cc11073e05f0362dbffc773c6fb4058 Mon Sep 17 00:00:00 2001 From: Yaro4Java Date: Sun, 22 Dec 2019 00:48:03 +0300 Subject: [PATCH 4/8] changing C-style of array declarations to Java-style --- src/main/java/com/epam/izh/rd/online/JavaBasics.java | 10 +++++----- .../epam/izh/rd/online/service/SimpleMathService.java | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/epam/izh/rd/online/JavaBasics.java b/src/main/java/com/epam/izh/rd/online/JavaBasics.java index 09eeb21..92d1966 100644 --- a/src/main/java/com/epam/izh/rd/online/JavaBasics.java +++ b/src/main/java/com/epam/izh/rd/online/JavaBasics.java @@ -9,7 +9,7 @@ public static void main(String[] args) { {/* SECTION FOR DEBUGGING MaxFrom(array) METHOD ALGORITHM */ //Input parameters - int val[] = {-1, -3, 477, 8, 55, 22, -5}; + int[] val = {-1, -3, 477, 8, 55, 22, -5}; //MaxFrom(array) algorithm implementation int ma = val[0]; @@ -37,7 +37,7 @@ public static void main(String[] args) { {/* SECTION FOR DEBUGGING sum(array) METHOD ALGORITHM */ //Input parameters - int a[] = {1, 2, 0}; //{-1, -3, 4, 8, 5, 22, -5} + int[] a = {1, 2, 0}; //{-1, -3, 4, 8, 5, 22, -5} //sum(array) algorithm implementation if (a.length == 0) { @@ -65,7 +65,7 @@ public static void main(String[] args) { {/* SECTION FOR DEBUGGING getEvenDigits(array) METHOD ALGORITHM */ //Input parameters - int arr[] = {5, 4, 1, 1}; //для списка {-1, -3, 4, 8, 5, 22, 17} метод должен вернуть {4, 8, 22} + int[] arr = {5, 4, 1, 1}; //для списка {-1, -3, 4, 8, 5, 22, 17} метод должен вернуть {4, 8, 22} //Building string of input array elements String in = "{" + String.valueOf(arr[0]); @@ -85,7 +85,7 @@ public static void main(String[] args) { } //Creating new array for even digits - int even[] = new int[size]; + int[] even = new int[size]; if(size > 0) { //Filling even digits array @@ -144,7 +144,7 @@ public static void main(String[] args) { {/* SECTION FOR DEBUGGING reverseArray(array) METHOD ALGORITHM */ //Input parameters - int arr[] = {-1, -3, 25, 100}; //{-1, -3, 4, 8, 5, 22, -5}; + int[] arr = {-1, -3, 25, 100}; //{-1, -3, 4, 8, 5, 22, -5}; //Building string of input array elements String in = "{" + String.valueOf(arr[0]); 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 349afc4..15461e9 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 @@ -90,7 +90,7 @@ public int[] getEvenDigits(int[] values) { } //Creating new array for even digits - int even[] = new int[size]; + int[] even = new int[size]; if(size > 0) { //Filling even digits array From 48bc66e5f711c23305fda4999f3c32c736a73b39 Mon Sep 17 00:00:00 2001 From: Yaro4Java Date: Sun, 22 Dec 2019 13:41:59 +0300 Subject: [PATCH 5/8] adding calcFactorial() method implementation and debugging it --- .../com/epam/izh/rd/online/JavaBasics.java | 38 +++++++++++++++++++ .../rd/online/service/SimpleMathService.java | 12 +++++- 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/epam/izh/rd/online/JavaBasics.java b/src/main/java/com/epam/izh/rd/online/JavaBasics.java index 92d1966..8d96eaa 100644 --- a/src/main/java/com/epam/izh/rd/online/JavaBasics.java +++ b/src/main/java/com/epam/izh/rd/online/JavaBasics.java @@ -116,6 +116,44 @@ public static void main(String[] args) { }/* END OF getEvenDigits(array) DEBUGGING SECTION */ + {/* SECTION FOR DEBUGGING calcFactorial() METHOD ALGORITHM */ + + //Input parameters + int n = 10; //для числа 5 метод должен вернуть 120. Факториал 0 равен 1 + + //Implementation of the calcFactorial() algorithm + long factor = 1; + + //Counting factorial of n + if(n > 0) { + for (int i = 1; i < n; ){ + factor = factor * ++i; + } + } + + //Building the string to write factorial of n + String s = ""; + + if(n < 2) { + s = ""; + } else { + s = "1"; + for(int i = 2; i <= n; i++) { + if ((i == 4) && (n > 6)) { + s = s + "*..."; + } else if ((i < 4) || (i > (n - 2))) { + s = s + "*" + i; + } + } + s = s + " = "; + } + + //Typing out the result of analysis + System.out.println("calcFactorial(): Factorial of " + n + " is " + n + "! = " + s + factor); + + }/* END OF calcFactorial() DEBUGGING SECTION */ + + {/* SECTION FOR DEBUGGING isPrimary() METHOD ALGORITHM */ //Input parameters 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 15461e9..b6d6f1e 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 @@ -111,7 +111,17 @@ public int[] getEvenDigits(int[] values) { */ @Override public long calcFactorial(int initialVal) { - return -1L; + + long factor = 1; + + //Counting factorial of n + if(initialVal > 0) { + for (int i = 1; i < initialVal; ){ + factor = factor * ++i; + } + } + + return factor; } /** From fe41ee4f8ed02a404bed72166ce064f80e95e412 Mon Sep 17 00:00:00 2001 From: Yaro4Java Date: Sun, 22 Dec 2019 14:25:41 +0300 Subject: [PATCH 6/8] adding calcFibonacci() method implementation and debugging it --- .../com/epam/izh/rd/online/JavaBasics.java | 32 +++++++++++++++++-- .../rd/online/service/SimpleMathService.java | 16 +++++++++- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/epam/izh/rd/online/JavaBasics.java b/src/main/java/com/epam/izh/rd/online/JavaBasics.java index 8d96eaa..29a7410 100644 --- a/src/main/java/com/epam/izh/rd/online/JavaBasics.java +++ b/src/main/java/com/epam/izh/rd/online/JavaBasics.java @@ -6,12 +6,12 @@ public class JavaBasics { public static void main(String[] args) { - {/* SECTION FOR DEBUGGING MaxFrom(array) METHOD ALGORITHM */ + {/* SECTION FOR DEBUGGING maxFrom(array) METHOD ALGORITHM */ //Input parameters int[] val = {-1, -3, 477, 8, 55, 22, -5}; - //MaxFrom(array) algorithm implementation + //maxFrom(array) algorithm implementation int ma = val[0]; for (int n = 1; n < val.length; n++) { @@ -31,7 +31,7 @@ public static void main(String[] args) { //Typing out the result of analysis System.out.println("MaxFrom(array): Number " + ma + " is the maximum value within the given array: " + s); - }/* END OF MaxFrom(array) DEBUGGING SECTION */ + }/* END OF maxFrom(array) DEBUGGING SECTION */ {/* SECTION FOR DEBUGGING sum(array) METHOD ALGORITHM */ @@ -154,6 +154,32 @@ public static void main(String[] args) { }/* END OF calcFactorial() DEBUGGING SECTION */ + {/* SECTION FOR DEBUGGING calcFibonacci() METHOD ALGORITHM */ + + //Input parameters + int n = 10; //Fibonacci(n = 0, 1, 2, ...) = 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 ... ; F(0) = 0, F(9) = 34. + + //Implementation of the calcFibonacci() algorithm + long fibonacci = 0; + long preElement1 = 1; + long preElement2 = 0; + + //Counting n-th element of the Fibonacci sequence + if(n > 0) { + for (int i = 1; i <= n; i++){ + fibonacci = preElement1 + preElement2; + preElement1 = preElement2; + preElement2 = fibonacci; + } + } + + + //Typing out the result of analysis + System.out.println("calcFibonacci(): Element at the position " + n + " in Fibonacci sequence is " + "F(" + n + ") = " + fibonacci); + + }/* END OF calcFibonacci() DEBUGGING SECTION */ + + {/* SECTION FOR DEBUGGING isPrimary() METHOD ALGORITHM */ //Input parameters 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 b6d6f1e..5bb7202 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 @@ -136,7 +136,21 @@ public long calcFactorial(int initialVal) { */ @Override public long calcFibonacci(int number) { - return -1L; + + long fibonacci = 0; + long preElement1 = 1; + long preElement2 = 0; + + //Counting n-th element of the Fibonacci sequence + if(number > 0) { + for (int i = 1; i <= number; i++){ + fibonacci = preElement1 + preElement2; + preElement1 = preElement2; + preElement2 = fibonacci; + } + } + + return fibonacci; } /** From bf0780564d406979a1478f5a1469a3558e8e528e Mon Sep 17 00:00:00 2001 From: Yaro4Java Date: Sun, 22 Dec 2019 14:30:11 +0300 Subject: [PATCH 7/8] adding calcFibonacci() method implementation and debugging it --- src/main/java/com/epam/izh/rd/online/JavaBasics.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/epam/izh/rd/online/JavaBasics.java b/src/main/java/com/epam/izh/rd/online/JavaBasics.java index 29a7410..9049769 100644 --- a/src/main/java/com/epam/izh/rd/online/JavaBasics.java +++ b/src/main/java/com/epam/izh/rd/online/JavaBasics.java @@ -173,7 +173,6 @@ public static void main(String[] args) { } } - //Typing out the result of analysis System.out.println("calcFibonacci(): Element at the position " + n + " in Fibonacci sequence is " + "F(" + n + ") = " + fibonacci); From a1d3d9f28bef234efb5c7a01c7cb6c254578a6d9 Mon Sep 17 00:00:00 2001 From: Yaro4Java Date: Sun, 22 Dec 2019 17:03:01 +0300 Subject: [PATCH 8/8] adding sort() method implementation and debugging it --- .../com/epam/izh/rd/online/JavaBasics.java | 37 +++++++++++++++++++ .../rd/online/service/SimpleMathService.java | 14 ++++++- 2 files changed, 50 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/epam/izh/rd/online/JavaBasics.java b/src/main/java/com/epam/izh/rd/online/JavaBasics.java index 9049769..02b0c68 100644 --- a/src/main/java/com/epam/izh/rd/online/JavaBasics.java +++ b/src/main/java/com/epam/izh/rd/online/JavaBasics.java @@ -179,6 +179,43 @@ public static void main(String[] args) { }/* END OF calcFibonacci() DEBUGGING SECTION */ + {/* SECTION FOR DEBUGGING sort(array) METHOD ALGORITHM */ + + //Input parameters + int[] arr = {-1, 100, -99, 0}; //{-1, -3, 4, 8, 5, 22, -5} --> {-5, -3, -1, 4, 5, 8, 22} + + //Building string of input array elements + String in = "{" + String.valueOf(arr[0]); + for (int k = 1; k < arr.length; k++) { + in = in + ", " + String.valueOf(arr[k]); + } + in = in + "}"; + + //Implementation of the sort(array) algorithm + for (int pos = 0; pos < (arr.length - 1); pos++) { + int min = arr[pos]; + for(int i = pos + 1; i < arr.length; i++) { + if(arr[i] < min) { + arr[pos] = arr[i]; + arr[i] = min; + min = arr[pos]; + } + } + } + + //Building string of output array elements + String out = "{" + String.valueOf(arr[0]); + for (int k = 1; k < arr.length; k++) { + out = out + ", " + String.valueOf(arr[k]); + } + out = out + "}"; + + //Typing out the result of analysis + System.out.println("sort(array): Sorted elements of the given array " + in + " are as follows: " + out); + + }/* END OF sort(array) DEBUGGING SECTION */ + + {/* SECTION FOR DEBUGGING isPrimary() METHOD ALGORITHM */ //Input parameters 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 5bb7202..34f76e8 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 @@ -159,7 +159,19 @@ public long calcFibonacci(int number) { */ @Override public int[] sort(int[] values) { - return new int[]{}; + + for (int pos = 0; pos < (values.length - 1); pos++) { + int min = values[pos]; + for(int i = pos + 1; i < values.length; i++) { + if(values[i] < min) { + values[pos] = values[i]; + values[i] = min; + min = values[pos]; + } + } + } + + return values; } /**