import java.io.PrintStream; import java.util.Scanner; public class Palindrome { public static void main(String[] args) { PrintStream output = System.out; Scanner input = new Scanner(System.in); final String DONE = "done"; output.println("Type in a sentence followed by the ENTER key:"); String line = input.nextLine(); for (; !line.equals(DONE); ) { // remove everything not a letter from line String regex = "[^A-Za-z]"; String clean = line.replaceAll(regex, ""); // reverse the line StringBuffer buffer = new StringBuffer(clean); buffer.reverse(); // compare line and reversed line if (clean.equalsIgnoreCase(buffer.toString()) && clean.length() > 0) { output.println("Is a palindrome\n"); } else { output.println("Not a palindrome\n"); } // get next line output.println("Type in a sentence followed by the ENTER key:"); line = input.nextLine(); } } }