Ir al contenido

Palabra con mayúsculas y minúsculas

El ejemplo que habéis pedido para poder poner una palabra con mayúsculas y minúsculas me ha resultado muy divertido y me ha dado pie a escribirlo de un par de formas. Una de ella apoyándose en los nuevos Stream de Java 8. Así que los vamos a verlos en detalle. Pero empecemos por el más sencillo. En este caso vamos a convertir los caracteres de una palabra con mayúsculas y minúsculas de forma indistinta. Es decir, si tenemos la frase:

Esto es una frase muy interesante

Convertirla en:

EsTo eS UnA FrAsE MuY InTeReSaNtE

Lo primero que hacemos es utilizar una clase StringBuilder para construir la cadena.

StringBuilder sCadena = new StringBuilder("Esto es una frase muy interesante");

Lo siguiente que haremos será ir recorriendo cada uno de los caracteres de la cadena, mediante un bucle for.

for (int x=0;x<sCadena.length();x++) { ... }

Por cada uno de los caracteres comprobaremos si este ocupa una posición par o impar, utilizando el operador de módulo. Ya que dependiendo de su posición lo convertiremos a mayúsculas o minúsculas.

for (int x=0;x<sCadena.length();x++) {
caracter = Character.toString(sCadena.charAt(x));
if (x%2 == 0) { ... }
else { ... }

Para acceder a un carácter nos vamos a apoyar en el método .charAt() y para modificarlo utilizaremos el método .setCharAt().

Además deberemos de convertir el carácter en un String para poder utilizar las funciones .toLowerCase() y .toUpperCase().

De esta forma el código para obtener la palabra con mayúsculas y minúsculas de forma alterna será el siguiente:

for (int x=0;x<sCadena.length();x++) {
caracter = Character.toString(sCadena.charAt(x));
if (x%2 == 0)
sCadena.setCharAt(x,caracter.toUpperCase().charAt(0));
else
sCadena.setCharAt(x,caracter.toLowerCase().charAt(0));
Foto de Víctor Cuervo

Víctor Cuervo

Programador, Arquitecto IT, álter ego de Línea de Código, amante de las tecnologías, generador de conocimiento y facilitador del aprendizaje.

Descarga el código de Palabra con mayúsculas y minúsculas

El artículo explica cómo alternar mayúsculas y minúsculas en una palabra utilizando Java y su clase StringBuilder.

Descargar código