Siguiendo con los buenos ejercicios de Java con cadenas vamos a ver cómo comprobar si una string está formada totalmente con mayúsculas, o con minúsculas.
Dicho de otra manera, vamos a ver cómo saber si una string es mayúscula o minúscula en Java. Para ello no vamos a usar más que métodos vistos previamente.
El algoritmo en general
Para saber si una cadena es mayúscula y minúscula tenemos dos métodos o alternativas que se me ocurren al momento de escribir esto.
La primera es convertir toda la cadena a mayúscula, o a minúscula; y luego compararla con la cadena original. Si al compara la original con su versión mayúscula son iguales, se dice que la cadena es mayúscula, lo mismo para la forma minúscula.
La segunda manera sería recorrer toda la cadena letra por letra y saber si es mayúscula/minúscula; si no, entonces se rompe el ciclo y se regresa false. Este es más complicado y no lo veremos.
Saber si cadena es minúscula en Java
Basta de charlas, veamos cómo comprobar si una string es totalmente minúscula en Java. Para ello creamos una función que regresa un booleano:
public static boolean esMinuscula(String s) {
// Regresa el resultado de comparar la original con sun versión minúscula
return s.equals(s.toLowerCase());
}
Es una línea pero se puede expandir. Primero convertimos a minúscula la cadena, y luego comparamos la original con la convertida usando equals
.
Como equals
regresa un booleano, regresamos lo que regrese (qué redundante pero así es) y ya tenemos nuestra función.
Comprobar si cadena es mayúscula en Java
Lo mismo de arriba pero ahora usando el método que convierte la cadena a mayúscula. Queda así:
public static boolean esMayuscula(String s) {
// Regresa el resultado de comparar la original con sun versión mayúscula
return s.equals(s.toUpperCase());
}
Cadena que no es minúscula ni mayúscula
Podemos llamar a las dos funciones anteriores y si ambas regresan false
entonces la cadena es “mixta”, es decir, que no es mayúscula ni minúscula.
Probar métodos y ejemplos
Para comprobar todo esto que he expuesto voy a poner un ejemplo en donde se usan ambas funciones con muchas cadenas.
Si quieres probarlos recuerda instalar Java y NetBeans.
class Main {
public static void main(String[] args) {
// Algunas cadenas para probar ;)
String[] cadenas = { "HOLA", "mundo", "No sé", "Hola", "Parzibyte" };
for (String cadena : cadenas) {
// Imprimir cadena actual, sin nueva línea
System.out.print(cadena + " --> ");
// Y luego imprimir si es mayúscula, minúscula o mixta
if (esMayuscula(cadena)) {
System.out.println("Mayúscula");
} else if (esMinuscula(cadena)) {
System.out.println("Minúscula");
} else {
System.out.println("Mixta");
}
}
}
public static boolean esMayuscula(String s) {
// Regresa el resultado de comparar la original con su versión mayúscula
return s.equals(s.toUpperCase());
}
public static boolean esMinuscula(String s) {
// Regresa el resultado de comparar la original con su versión minúscula
return s.equals(s.toLowerCase());
}
}
Con eso terminamos por hoy.