Repository: TheAlgorithms/Java
File: src/main/java/com/thealgorithms/strings/Pangram.java (Java)

Code before:

import java.util.HashSet;

/**
 * Wikipedia: https://en.wikipedia.org/wiki/Pangram
 */
public class Pangram {

    /**
     * Test code
     */
    public static void main(String[] args) {
        assert isPangram("The quick brown fox jumps over the lazy dog");
        assert !isPangram("The quick brown fox jumps over the azy dog"); // L is missing
        assert !isPangram("+-1234 This string is not alphabetical");
        assert !isPangram("\u0000/\\");
    }

    /**
     * Checks if a String is considered a Pangram
     *
     * @param s The String to check
     * @return {@code true} if s is a Pangram, otherwise {@code false}
     */
    public static boolean isPangramOrNot(String s) {
        // an approach using Java Collection Framework
        HashSet<Character> alpha = new HashSet<Character>();
        s = s.trim().toLowerCase();
        for (int i = 0; i < s.length(); i++)
            if (s.charAt(i) != ' ') alpha.add(s.charAt(i));
        if (alpha.size() == 26) return true;
        return false;
    }

    /**
     * Checks if a String is considered a Pangram
     *
     * @param s The String to check
     * @return {@code true} if s is a Pangram, otherwise {@code false}
     */
    public static boolean isPangram(String s) {
        boolean[] lettersExisting = new boolean[26];
        for (char c : s.toCharArray()) {
            int letterIndex = c - (Character.isUpperCase(c) ? 'A' : 'a');
            if (letterIndex >= 0 && letterIndex < lettersExisting.length) {
                lettersExisting[letterIndex] = true;
            }
        }
        for (boolean letterFlag : lettersExisting) {
            if (!letterFlag) {
                return false;

Review comment (suggestion):
```suggestion
     * @return {@code true} if s is a Pangram, otherwise {@code false}
     */
     // alternative approach using Java Collection Framework
    public static boolean isPangramOrNot(String s) {
```

Code after:

import java.util.HashSet;

/**
 * Wikipedia: https://en.wikipedia.org/wiki/Pangram
 */
public class Pangram {

    /**
     * Test code
     */
    public static void main(String[] args) {
        assert isPangram("The quick brown fox jumps over the lazy dog");
        assert !isPangram("The quick brown fox jumps over the azy dog"); // L is missing
        assert !isPangram("+-1234 This string is not alphabetical");
        assert !isPangram("\u0000/\\");
    }

    /**
     * Checks if a String is considered a Pangram
     *
     * @param s The String to check
     * @return {@code true} if s is a Pangram, otherwise {@code false}
     */
    // alternative approach using Java Collection Framework
    public static boolean isPangramUsingSet(String s) {
        HashSet<Character> alpha = new HashSet<Character>();
        s = s.trim().toLowerCase();
        for (int i = 0; i < s.length(); i++)
            if (s.charAt(i) != ' ') alpha.add(s.charAt(i));
        if (alpha.size() == 26) return true;
        return false;
    }

    /**
     * Checks if a String is considered a Pangram
     *
     * @param s The String to check
     * @return {@code true} if s is a Pangram, otherwise {@code false}
     */
    public static boolean isPangram(String s) {
        boolean[] lettersExisting = new boolean[26];
        for (char c : s.toCharArray()) {
            int letterIndex = c - (Character.isUpperCase(c) ? 'A' : 'a');
            if (letterIndex >= 0 && letterIndex < lettersExisting.length) {
                lettersExisting[letterIndex] = true;
            }
        }
        for (boolean letterFlag : lettersExisting) {
            if (!letterFlag) {
                return false;