A palindrome is defined as a string of 1 or more characters


A palindrome is defined as a string of 1 or more characters that contains a word, a phrase or a number that reads the same forward and backward, ignoring case, punctuation and white space.

Your assignment is to write and test a Java program (Project8.java) to read in multiple lines of input until an empty line is read. After each line is read, determine if the line contains a palindrome and, if it does contain a palindrome, print which type of palindrome it is (word, phrase, or number).

Required main function: Here is the main method. Copy this into your code and do not change it.

public static void main (String [] args) {

String line = getInputLine();
while (!isEmptyLine (line)) {
if (isPalindrome (line))
System.out.println ("\"" + line +
"\" is a palindrome and a " + getPalType (line));
else
System.out.println ("\"" + line +
"\" is not a palindrome");
line = getInputLine();
}
System.out.println ("End of program");
}
Required methods: You must write the following methods as specified to complete your program. Pay attention to the name, return type and parameters.
public static String getInputLine ( )
Prompt the user to input a line of input and then read and return the line.
public static boolean isEmptyLine(String str)
Return TRUE if the parameter is empty or FALSE otherwise.
public static boolean isPalindrome (String str)
Return TRUE if the string is a palindrome or FALSE otherwise. See the pseudo-code on the next page for the logic and the restrictions on this implementation.
public static String getPalType (String str)
Determine the type of the palindrome and return either "word", "phrase", "number".
The definition is number is all digits, a word is all alphabetic, and a phrase is anything else.
isPalindrome pseudo-code
Note: in the following, the symbol ß represents assignment
left ß 0
right ß position of last character in string
okay ß true
while okay and left < right
ch1 ß character in the string at position (left)
if ch1 is not a digit or letter
increment left
else
ch2 ß character in the string at position (right)
if ch2 is not a digit or letter
decrement right
else
convert both ch1 and ch2 to upper case
if ch1 = ch2
increment left
decrement right
else
okay ß false
endif
endif
endif
end while
return okay
Here are the restrictions on this method. If you follow the logic above, then you will meet all the restrictions.
1. You may NOT return from the inside of a loop.
2. You may NOT break from the inside of a loop.
3. You should make the code as efficient as possible by stopping the processing as early as possible (when you find that it is or is not a palindrome).

Request for Solution File

Ask an Expert for Answer!!
JAVA Programming: A palindrome is defined as a string of 1 or more characters
Reference No:- TGS01011106

Expected delivery within 24 Hours