public class PalindromeIgonreNonAlphanumeric {
/** Main method */
public static void main(String[] args) {
System.out.print("Enter a string: ");
// Create a Scanner
java.util.Scanner input = new java.util.Scanner(System.in);
String string = input.nextLine();
// Display result
System.out.println("Ignoring alphanumeric characters,\nis " +
string + " a palindrome? " + isPalindrome(string));
}
public static boolean isPalindrome(String string) {
StringBuilder stringBuilder = new StringBuilder();
for(int i = 0; i < string.length(); i++) {
char ch = string.charAt(i);
if(ch >= '0' && ch <= '9' || ch >= 'a' && ch <='z')
stringBuilder.append(ch);
}
return
stringBuilder.toString().equals(stringBuilder.reverse().toString());
}
/** Return true if a string is a palindrome */
public static boolean isPalindrome_1(String s) {
// Create a new string by eliminating nonalphanumeric chars
String s1 = filter(s);
// Create a new string that is the reversal of s1
String s2 = reverse(s1);
// Compare if the reversal is the same as the original string
return s2.equals(s1);
}
/** Create a new string by eliminating nonalphanumeric chars */
public static String filter(String s) {
// create a string builder
StringBuilder stringBuilder = new StringBuilder();
//Examine each char in the string to skip alphanumeric char
for(int i = 0; i < s.length(); i++)
if(Character.isLetterOrDigit(s.charAt(i)))
stringBuilder.append(s.charAt(i));
return stringBuilder.toString();
}
/** Create a new string by reversing a specified string */
public static String reverse(String s) {
StringBuilder stringBuilder = new StringBuilder(s);
return stringBuilder.reverse().toString();
}
}
Enter a string: 123abc<>?!cba321
Ignoring alphanumeric characters,
is 123abc<>?!cba321 a palindrome? true
/** Main method */
public static void main(String[] args) {
System.out.print("Enter a string: ");
// Create a Scanner
java.util.Scanner input = new java.util.Scanner(System.in);
String string = input.nextLine();
// Display result
System.out.println("Ignoring alphanumeric characters,\nis " +
string + " a palindrome? " + isPalindrome(string));
}
public static boolean isPalindrome(String string) {
StringBuilder stringBuilder = new StringBuilder();
for(int i = 0; i < string.length(); i++) {
char ch = string.charAt(i);
if(ch >= '0' && ch <= '9' || ch >= 'a' && ch <='z')
stringBuilder.append(ch);
}
return
stringBuilder.toString().equals(stringBuilder.reverse().toString());
}
/** Return true if a string is a palindrome */
public static boolean isPalindrome_1(String s) {
// Create a new string by eliminating nonalphanumeric chars
String s1 = filter(s);
// Create a new string that is the reversal of s1
String s2 = reverse(s1);
// Compare if the reversal is the same as the original string
return s2.equals(s1);
}
/** Create a new string by eliminating nonalphanumeric chars */
public static String filter(String s) {
// create a string builder
StringBuilder stringBuilder = new StringBuilder();
//Examine each char in the string to skip alphanumeric char
for(int i = 0; i < s.length(); i++)
if(Character.isLetterOrDigit(s.charAt(i)))
stringBuilder.append(s.charAt(i));
return stringBuilder.toString();
}
/** Create a new string by reversing a specified string */
public static String reverse(String s) {
StringBuilder stringBuilder = new StringBuilder(s);
return stringBuilder.reverse().toString();
}
}
Enter a string: 123abc<>?!cba321
Ignoring alphanumeric characters,
is 123abc<>?!cba321 a palindrome? true