Answered step by step
Verified Expert Solution
Question
1 Approved Answer
// File: Palindrome.java // This program determines whether an input line is a palindrome. The program // ignores everything except alphabetic letters, and it ignores
// File: Palindrome.java
// This program determines whether an input line is a palindrome. The program
// ignores everything except alphabetic letters, and it ignores the difference
// between upper- and lowercase letters.
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
import java.util.Scanner;
public class Palindrome
{
/**
* The main method prompts the user for a strings. Each string is read
* and checked to see whether it is a palindrome. The program ends when
* the user enters an empty line (just the return key).
* @param args
* not used in this implementation
**/
public static void main(String[ ] args)
{
Scanner stdin = new Scanner(System.in); // Keyboard input
String line; // One input line
do
{
System.out.println("Type a sentence or press Enter to quit.");
line = stdin.nextLine( );
if (line.length() != 0) {
if (is_palindrome(line))
System.out.println("That is a palindrome.");
else
System.out.println("That is not a palindrome.");
} // end if
}
while (line.length( ) != 0);
}
/**
* Determine whether a string is a palindrome. Note: All non-letters are
* ignored, and the case of the letters is also ignored.
* @param input
* the string to check
* @return
* true if and only if the input string is a palindrome.
**/
public static boolean is_palindrome(String input)
{
Queue q = new LinkedList( );
Stack s = new Stack( );
Character letter; // One character from the input string
int mismatches = 0; // Number of spots that mismatched
int i; // Index for the input string
for (i = 0; i
{
letter = input.charAt(i);
if (Character.isLetter(letter))
{
letter = Character.toUpperCase(letter);
q.add(letter);
s.push(letter);
}
}
while (!q.isEmpty( ))
{
if (q.remove( ) != s.pop( ))
mismatches++;
}
// If there were no mismatches, then the string was a palindrome.
return (mismatches == 0);
}
}
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started