Compruebe si una string contiene solo alfabetos en Java usando la expresión Lambda

Las expresiones lambda básicamente expresan instancias de interfaces funcionales (una interfaz con un solo método abstracto se denomina interfaz funcional. Un ejemplo es java.lang.Runnable). Las expresiones lambda implementan la única función abstracta y, por lo tanto, implementan interfaces funcionales.

Dada una string, solo necesitamos iterar sobre los caracteres nuevamente, la tarea es verificar si una string contiene solo alfabetos o no, para lo cual principalmente verificaremos los casos extremos si la string está presente o no y no debe ser nula, simplemente devolveremos falso ya que no hay forma de lidiar con esa string. Cuando no se cumpla la condición anterior, utilizaremos el método de expresión lambda isLetter() para verificar si solo hay caracteres o no, y devolveremos un valor booleano correspondiente. 

Ilustraciones: 

Input : GeeksforGeeks
Output : True
Input  : Geeks4Geeks
Output : False
Input  : null
Output : False

Concepto: La idea es usar el método isLetter() de la clase Character

Algoritmo

  1. obtener la string
  2. Coincidir con la string: 
    • Compruebe si la string está vacía o no. Si está vacío, devuelve falso
    • Compruebe si la string es nula o no. Si es nulo, devuelve falso.
    • Si la string no está vacía ni es nula, 
      verifique con Lambda Expression Character::isLetter().
  3. Devuelve verdadero si coincide

El pseudocódigo para el algoritmo propuesto anteriormente es el siguiente:

public static boolean isStringOnlyAlphabet(String str)
{
    return ((!str.equals("")) && (str != null) && (str.matches("^[a-zA-Z]*$")));
}

Ejemplo:

Java

// Java program to check if String contains only Alphabets
// Using Lambda Expression
 
class GFG {
 
    // Method 1
    // To check String for only Alphabets
    public static boolean isStringOnlyAlphabet(String str)
    {
        return (
            (str != null) && (!str.equals(""))
            && (str.chars().allMatch(Character::isLetter)));
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
 
        // Calling method over different strings
        // justifying all use-cases possible
 
        // Display message
        System.out.println("Test Case 1:");
 
        String str1 = "GeeksforGeeks";
        System.out.println("Input: " + str1);
 
        // Calling over above string: GeeksforGeeks
        System.out.println("Output: "
                           + isStringOnlyAlphabet(str1));
 
        // Checking for String with numeric characters
        System.out.println("\nTest Case 2:");
 
        String str2 = "Geeks4Geeks";
        System.out.println("Input: " + str2);
 
        // Calling over above string: Geeks4Geeks
        System.out.println("Output: "
                           + isStringOnlyAlphabet(str2));
 
        // Checking for null String
        System.out.println("\nTest Case 3:");
        String str3 = null;
        System.out.println("Input: " + str3);
 
        // Calling over above string: null
        System.out.println("Output: "
                           + isStringOnlyAlphabet(str3));
 
        // Checking for empty String
        System.out.println("\nTest Case 4:");
        String str4 = "";
        System.out.println("Input: " + str4);
 
        // Calling over above string ""
        System.out.println("Output: "
                           + isStringOnlyAlphabet(str4));
    }
}
Producción: 

Test Case 1:
Input: GeeksforGeeks
Output: true

Test Case 2:
Input: Geeks4Geeks
Output: false

Test Case 3:
Input: null
Output: false

Test Case 4:
Input: 
Output: false

 

Artículos relacionados: 

Publicación traducida automáticamente

Artículo escrito por Code_r y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *