Hoy veremos un ejercicio de programación en Java que trata sobre saber si una cadena tiene únicamente letras del alfabeto, es decir, que solo contiene letras de la A a la Z, sin contener otros caracteres o números.
No importa si la letra es mayúscula o minúscula, siempre y cuando pertenezca al alfabeto la cadena será válida.
Todo lo vamos a encerrar dentro de una función que recibe una cadena y devuelve un booleano.
Lo que tenemos que hacer es recorrer la cadena carácter por carácter. Después comparamos si ese carácter es una letra, ya sea minúscula o mayúscula.
Una excepción que tenemos es que si el carácter es un espacio se cuenta como válido, pero podemos remover esa parte si el ejercicio lo pide.
En caso de que el carácter no sea una letra del alfabeto ni un espacio, salimos de la función inmediatamente indicando false
. Si terminamos de recorrer la cadena y no encontramos ningún carácter inválido, devolvemos true
.
Ahora veamos el código fuente de la función, queda así:
public static boolean contieneSoloLetras(String cadena) {
for (int x = 0; x < cadena.length(); x++) {
char c = cadena.charAt(x);
// Si no está entre a y z, ni entre A y Z, ni es un espacio
if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == ' ')) {
return false;
}
}
return true;
}
En Java podemos comparar caracteres de acuerdo a su código ASCII, por eso podemos usar los operadores de comparación con caracteres.
Finalmente veamos cómo usar la función, además de algunos ejemplos que demuestran que todo está correcto:
/*
____ _____ _ _ _
| _ \ | __ \ (_) | | |
| |_) |_ _ | |__) |_ _ _ __ _____| |__ _ _| |_ ___
| _ <| | | | | ___/ _` | '__|_ / | '_ \| | | | __/ _ \
| |_) | |_| | | | | (_| | | / /| | |_) | |_| | || __/
|____/ \__, | |_| \__,_|_| /___|_|_.__/ \__, |\__\___|
__/ | __/ |
|___/ |___/
Blog: https://parzibyte.me/blog
Ayuda: https://parzibyte.me/blog/contrataciones-ayuda/
Contacto: https://parzibyte.me/blog/contacto/
Copyright (c) 2020 Luis Cabrera Benito
Licenciado bajo la licencia MIT
El texto de arriba debe ser incluido en cualquier redistribucion
*/public class Main {
public static void main(String[] args) {
String cadenas[] = { "Parzibyte", "parzibyte.me", "123", "H0la", "Hola mundo", "ABCDEFGHIJKLMNOPQRSTUVWXYZ" };
for (String cadena : cadenas) {
System.out.printf("Probando con '%s'. Resultado: %b\n", cadena, contieneSoloLetras(cadena));
}
}
public static boolean contieneSoloLetras(String cadena) {
for (int x = 0; x < cadena.length(); x++) {
char c = cadena.charAt(x);
// Si no está entre a y z, ni entre A y Z, ni es un espacio
if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == ' ')) {
return false;
}
}
return true;
}
}
Al ejecutarlo se ven los siguientes resultados:
Si te gusta la programación en Java te invito a explorar más sobre este lenguaje en mi blog.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.