java

Java – Saber si cadena tiene solo letras

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.

Explicación del algoritmo

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.

Saber si String tiene únicamente letras

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.

Poniendo todo junto

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:

Saber si cadena solo contiene letras en Java

Si te gusta la programación en Java te invito a explorar más sobre este lenguaje en mi blog.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

2 semanas hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.