package strings; /** * Alphabetical order is a system whereby character strings are placed in order based on the * position of the characters in the conventional ordering of an alphabet. Wikipedia: * https://en.wikipedia.org/wiki/Alphabetical_order */ class Alphabetical { public static void main(String[] args) { assert !isAlphabetical("123abc"); assert isAlphabetical("aBC"); assert isAlphabetical("abc"); assert !isAlphabetical("xyzabc"); assert isAlphabetical("abcxyz"); } /** * Check if a string is alphabetical order or not * * @param s a string * @return {@code true} if given string is alphabetical order, otherwise {@code false} */ public static boolean isAlphabetical(String s) { s = s.toLowerCase(); for (int i = 0; i < s.length() - 1; ++i) { if (!Character.isLetter(s.charAt(i)) || !(s.charAt(i) <= s.charAt(i + 1))) { return false; } } return true; } }