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