Soluciones ejercicios arrays

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));
	}

}

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos