The complete method is below, suitable for copying and running:
class Tester { public boolean test( String trial ) { String lower = trial.toLowerCase(); StringBuffer azBuffer = new StringBuffer(); for ( int j=0; j < lower.length(); j++ ) { char c = lower.charAt(j); if ( c >= 'a' && c <= 'z' ) azBuffer.append( c ); } String forward = azBuffer.toString(); String backward = azBuffer.reverse().toString(); if ( forward.equals( backward ) ) return true; else return false; } } public class PalindromeTester { public static void main ( String[] args ) { Tester pTester = new Tester(); String trial = "A man, a plan, a canal, Panama!" ; if ( pTester.test( trial ) ) System.out.println( "Is a Palindrome" ); else System.out.println( "Not a Palindrome" ); } }
Could the test()
method be written without
constructing any String
s?