package exercise;
import java.util.Arrays;
public class Exercise {
static int sumArray(int[] nums) {
int res = 0;
for (int num : nums) {
res += num;
}
return res;
}
static double sumArray(double[] nums) {
double res = 0;
for (double num : nums) {
res += num;
}
return res;
}
static int[] rotateNumber(int[] nums) {
int[] res = nums.clone();
res[0] = nums[nums.length - 1];
for (int i = 1, j = 0; j < nums.length - 1; i++, j++) {
res[i] = nums[j];
}
return res;
}
static int parityNumber(int[] nums) {
int odd = 0;
int even = 0;
for (int num : nums) {
if (num % 2 == 0) {
even++;
} else {
odd++;
}
}
if (even == odd) {
return 0;
} else if (even > odd) {
return 2;
} else {
return 1;
}
}
static boolean duplicate(int[] nums) {
for (int i = 0; i < nums.length; i++) {
for (int j = i + 1; j < nums.length; j++) {
if (nums[i] == nums[j]) {
return true;
}
}
}
return false;
}
static boolean duplicate(String[] strings) {
for (int i = 0; i < strings.length; i++) {
for (int j = i + 1; j < strings.length; j++) {
if (strings[i].equals(strings[j])) {
return true;
}
}
}
return false;
}
public static void main(String[] args) {
int[] nums1 = { 1, 2, 3, 4, 5, 2 };
System.out.format("Donat una array: '%s' de números mostra la suma d'ells: " + sumArray(nums1) + "\n", Arrays.toString(nums1));
double[] nums2 = { 1.5, 2, 3.5, 4.1, 5 };
System.out.format("Donat una array: '%s' de números mostra la suma d'ells: " + sumArray(nums2) + "\n", Arrays.toString(nums2));
nums1 = new int[]{ 1, 2, 3, 4 };
System.out.format("Donat una array: '%s' de números l'últim número pasara al 1er: " + Arrays.toString(rotateNumber(nums1)) + "\n", Arrays.toString(nums1));
System.out.format("Danat una array: '%s' de números, retorna: 1 si hi ha més impars que parells, 2 si hi ha més parells i 0 si hi ha la la mateixa quantitat: %d\n", Arrays.toString(nums1), parityNumber(nums1));
nums1 = new int[]{ 1, 2, 3, 5 };
System.out.format("Danat una array: '%s' de números, retorna: 1 si hi ha més impars que parells, 2 si hi ha més parells i 0 si hi ha la la mateixa quantitat: %d\n", Arrays.toString(nums1), parityNumber(nums1));
nums1 = new int[]{ 4, 2, 8, 1 };
System.out.format("Danat una array: '%s' de números, retorna: 1 si hi ha més impars que parells, 2 si hi ha més parells i 0 si hi ha la la mateixa quantitat: %d\n", Arrays.toString(nums1), parityNumber(nums1));
System.out.format("Donat una array: '%s' de números retorna 'true' si hi ha duplicats i en cas contrari 'false': " + duplicate(nums1) + "\n", Arrays.toString(nums1));
nums1 = new int[]{ 4, 2, 8, 2 };
System.out.format("Donat una array: '%s' de números retorna 'true' si hi ha duplicats i en cas contrari 'false': " + duplicate(nums1) + "\n", Arrays.toString(nums1));
String[] string1 = {"jaume", "pere", "anna", "jaume"};
System.out.format("Donat una array: '%s' de cadenes retorna 'true' si hi ha duplicats i en cas contrari 'false': " + duplicate(string1) + "\n", Arrays.toString(string1));
string1 = new String[]{"jaume", "pere", "anna", "maria"};
System.out.format("Donat una array: '%s' de cadenes retorna 'true' si hi ha duplicats i en cas contrari 'false': " + duplicate(string1) + "\n", Arrays.toString(string1));
}
}