Ejercicio típico de array

package com.trifulcas.arrays;

import java.util.Arrays;

public class EjerciciosArrays {

	public static void main(String[] args) {
		int[] a = { 5, 3, 7, 9, 2,8 };
		System.out.println(menorElemento(a)); // 2
		int[] b = { 5, 3, -7, -9, 2 };
		System.out.println(menorElemento(b)); // -9
		System.out.println(menorElementoOrdenar(b)); // -9
		double[] c = { 1.2, 3.4, 6.7, 0.9, 9.8 };
		System.out.println(menorElemento(c)); // 0.9
		String[] d = { "aa", "bbbb", "dsds", "c", "dasdasdkaod" };
		System.out.println(menorElemento(d)); // c
		System.out.println(Arrays.toString(getPares(a)));
	}

	/**
	 * Función que devuelve los números pares de una lista de números enteros
	 * 
	 * @param int[] lista
	 * @return int[]
	 */
	static int[] getPares(int[] lista) {
		// Recorro la lista
		// Si hay un número par lo cuento
		int cont=0;
		for(int valor:lista) {
			if (valor%2==0) {
				cont++;
			}
		}
		// Creo un array de ese tamaño
		int[] pares=new int[cont];
		cont=0;
		// Voy añadiendo los números pares
		for(int valor:lista) {
			if (valor%2==0) {
				pares[cont]=valor;
				cont++;
			}
		}
		return pares;
	}

	/*
	 * Crear una función menorElemento a la que le pasamos un array de enteros y nos
	 * devuelve el número menor.
	 */

	static int menorElemento(int[] lista) {
		// ¿Cómo lo voy a hacer? {5,3,7,9,2}
		// el esquema universal de el 80% de los ejercicios
		// Tengo un resultado que vale algo al principio
		// Recorro el array o los elementos
		// Si se cumple determinada condición hago algo que cambia el resultado
		// Devuelvo el resultado
		// Cojo el primer elemento
		int resultado = lista[0];
		// Recorro el array
		for (int valor : lista) {
			if (valor < resultado) {
				resultado = valor;
			}
		}
		return resultado;
	}

	// sobrecarga para double
	static double menorElemento(double[] lista) {
		double resultado = lista[0];
		// Recorro el array
		for (double valor : lista) {
			if (valor < resultado) {
				resultado = valor;
			}
		}
		return resultado;
	}
	/*
	 * Crear una sobrecarga que le pasemos cadenas y nos devuelva la más corta, si
	 * hay dos iguales la primera
	 */

	static String menorElemento(String[] lista) {
		String resultado = lista[0];
		// Recorro el array
		for (String valor : lista) {
			if (valor.length() < resultado.length()) {
				resultado = valor;
			}
		}
		return resultado;
	}

	static int menorElementoOrdenar(int[] lista) {
		int[] copia = lista.clone();
		Arrays.sort(copia);
		return copia[0];
	}

}


Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos