Separar en un array las palabras que contengan las cinco vocales(definidos en otro array)

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.