package matrices;
import java.util.*;
/**
* @author GALIA
* @version diciembre 2014
*/
public class Ej6_16 {
/**
* @param a
* recibe un array de String como parámetro
* @return array5Vocales/null
*/
public static String[] obtenerArrayCadena5Vocales(String[] a) {
if (a == null)// se comprueba que la cadena recibida no está vacía
throw new IllegalArgumentException("Argumento no válido");
String[] arrayAux = new String[a.length];
/*
* declaramos un array auxiliar con el mismo tamaño que el array
* recibido, porque puede que haya cadenas que tengan todas las vocales
*/
int numeroCad5Vocales = 0;/* contador de cadenas con 5 vocales */
int j = 0;
/* bucle for-each,recorre las posiciones del array */
for (String i : a) {
if (i != null) {// i es la cadena que está en la posición i
String cadenaAux = i.toUpperCase();
/* para no llamar al método y comprobar si son Mayúsculas */
/* *
* Devuelve la posición de índice de base cero de value si se
* encuentra dicha cadena; de lo contrario, devuelve -1. Si
* value es String.Empty, el valor devuelto es 0.indexOf().
*/
if (cadenaAux.indexOf('A') != -1
&& cadenaAux.indexOf('O') != -1
&& cadenaAux.indexOf('U') != -1
&& cadenaAux.indexOf('E') != -1
&& cadenaAux.indexOf('I') != -1) {
arrayAux[j++] = i;
numeroCad5Vocales++;
}
}
}
if (numeroCad5Vocales != 0) {
String[] array5Vocales = new String[numeroCad5Vocales];
/*
* se crea un nuevo array para que el array devuelto tenga el mismo
* tamaño que el número de cadenas que tengan las 5 vocales
*/
for (int i = 0; i < numeroCad5Vocales; i++) {
array5Vocales[i] = arrayAux[i];
}
return array5Vocales;
} else {
return null;
}
}
/**
* Método main
*
* @param args
*/
public static void main(String[] args) {
String a[] = new String[] { null, "Java", "ayuntamiento", "Javier",
"murciélago", "actualizaciones", " quizá" ," "};
String[] array5Vocales = obtenerArrayCadena5Vocales(a);
System.out.println("\tLas cadenas con 5 vocales son: ");
for (int i = 0; i < array5Vocales.length; i++) {
System.out.println((array5Vocales[i]));
}
System.out.println("\n\tEl array original:\n\n" + Arrays.asList(a));
}
}
Ejercicios del libro de Shaum, Java2. Resueltos
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.