import java.util.Scanner; public class Question1 { public static void main(String[] args) { Scanner reader = new Scanner(System.in); System.out.println("What would you like me to check for consecutiveness?"); String message = reader.nextLine(); if ((consecIncrease (message) == true) || (consecDecrease (message)== true)) { System.out.format("The message has consecutive characters."); } else { System.out.format("The message does not have consecutive characters."); } } // end main // method 1 public static boolean consecIncrease(String message) { boolean lowerCaseConsec = false; boolean upperCaseConsec = false; boolean numberConsec = false; boolean result = false; //should check one less than the message length. for (int i = 0; i < message.length() - 1; i++) { if ((message.charAt(i) >= 'a' && message.charAt(i) <= 'z') && (((message.charAt(i) == message.charAt(i + 1)+ ('a' - 'b')) || (message.charAt(i) == message.charAt(i + 1) + ('a' - 'B'))) || (message.charAt(i+1)>= '0' && message.charAt(i+1)<= '9'))) { lowerCaseConsec = true; } else if ((message.charAt(i) >= 'A' && message.charAt(i) <= 'Z') && (((message.charAt(i) == message.charAt(i + 1)+ ('A' - 'B')) || (message.charAt(i) == message.charAt(i + 1) + ('A' - 'b'))) || (message.charAt(i+1)>= '0' && message.charAt(i+1)<= '9'))) { upperCaseConsec = true; } else if ((message.charAt(i) >= '0' && message.charAt(i) <= '9') && (((message.charAt(i) == message.charAt(i + 1)+ ('0' - '1'))) || (message.charAt(i+1) >= 'a' && message.charAt(i+1) <= 'z') || (message.charAt(i+1)>= 'A' && message.charAt(i+1)<= 'Z'))) { numberConsec = true; } else { result = false; } }// end for boolean finalResult = (lowerCaseConsec && upperCaseConsec && numberConsec && result); return finalResult; } // end method 1 // method 2 public static boolean consecDecrease(String message) { boolean lowerCaseConsec = false; boolean upperCaseConsec = false; boolean numberConsec = false; boolean result = false; for (int x = 0; x < message.length() - 1; x++ ) { if ((message.charAt(x) >= 'a' && message.charAt(x) <= 'z') && (((message.charAt(x) == message.charAt(x+1) +('b' - 'a')) || (message.charAt(x) == message.charAt(x+1) + ('b' -'A'))) || (message.charAt(x+1)>= '0' && message.charAt(x+1)<= '9'))) { lowerCaseConsec = true; } else if ((message.charAt(x) >= 'A' && message.charAt(x) <= 'Z') && (((message.charAt(x) == message.charAt(x+1) + ('B' - 'A')) || (message.charAt(x) == message.charAt(x+1) + ('B' -'a'))) || (message.charAt(x+1)>= '0' && message.charAt(x+1)<= '9'))) { upperCaseConsec = true; } else if ((message.charAt(x) >= '0' && message.charAt(x) <= '9') && (((message.charAt(x) == message.charAt(x+1) + ('2' - '1'))) || (message.charAt(x+1) >= 'a' && message.charAt(x+1) <= 'z') || (message.charAt(x+1)>= 'A' && message.charAt(x+1)<= 'Z'))) { numberConsec = true; } else { result = false; } }// end for boolean finalResult = (lowerCaseConsec && upperCaseConsec && numberConsec && result); return finalResult; }//end method 2 }