Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a program to read in a possible palindrome and then state whether or not i

ID: 3554266 • Letter: W

Question

Write a program to read in a possible palindrome and then state whether or not it is a palindrome. There are several ways to do see if a string is a palindrome. First you will probably make all the letters one case and eliminate punctuation and any non-letter characters. Java has the Character.isLetter() method. Character.isLetter('a') returns true and Character.isLetter(',') returns false, as does ' ' '.' etc.

Way 1: Reverse the string. If the reversed string is the same (.equals()) as the original, pared down, string then it is a palindrome.
Way 2: Look at the first and last letter and see if they are the same (using the charAt() method), then the second letter and next to last letter, etc. If the letters are ever not the same, it is not a palindrome.

You may not use the StringBuffer

Write each of the following as separate boolean value returning methods of the form isPalindromeSingle(theStringToBeTested), isPalindromeInsensitive(theStringToBeTested), then use Line and Multiline . These will probably be used in an if statement, e.g. if (isPalindromeSingle(stringToBe Tested ) ) ...

Part 1: Read a single word in and tell whether or not it is a palindrome:

Sample runs:

Input a single word: deed

"deed" is a palindrome.


Input a single word: dead

"dead" is not a palindrome.


Part 2: Read a single word including upper and lower case characters, ignore the case and tell whether it is a palindrome:

Input a single word: Mom

"Mom" is a palindrome.


Input a single word: Mommy

"Mommy" is not a palindrome.


Part 3: Read a single line containing multiple words and non-character symbols and tell whether or not is is a palindrome. In this case you have to discard all non-letter characters. Fortunately there is a Java method that returns true if a letter is a letter and false if it is not. Character.isLetter('c') returns true and Character.isLetter(' ') is false, as would be ';' ',' '.', etc..

Input a single line of text: Anne, I vote more cars race Rome to Vienna.
" Anne, I vote more cars race Rome to Vienna." is a palindrome

// The original string has been changed to "anneivotemorecarsracerometovienna" and then tested.

Part 4:   Multiline palindromes.

Enter a paragraph followed by pressing the Enter button twice:
Do good, I? No! Evil anon I deliver! I maim nine more Hero-Men in Saginaw;
sanitary sword a-tuck, Carol, I... lo! Rack! Cut a drowsy Rat in Aswan.
I gas nine more Hero-Men in Miami. Reviled, I (Nona), live on! I do, O God!!



// The above line is just a line feed, returning the empty String "".

The line that is just "" is the sentinel. You can stop reading when you have read that line.

You can stop loopping when the string is empty using the test myString.equals(

Explanation / Answer

please rate - thanks

import java.util.*;
public class palindrome
{
public static void main(String args[])

{
Scanner in =new Scanner(System.in);
String input,buffer;
System.out.print("Enter a string(empty line to exit): ");
input=in.nextLine();
System.out.println("word and single sentence test");
while(!input.equals(""))
{
if(isPalindrome(input))
   System.out.println(input+" is a Palindrome");
else
    System.out.println(input+" is not a Palindrome");
System.out.print("Enter a string(empty line to exit): ");
input=in.nextLine();
}
System.out.println("multiple sentence test");
System.out.println("Enter a paragraph followed by pressing the Enter button twice:");
input="";
buffer=in.nextLine();
while(!buffer.equals(""))
{input=input+buffer;
buffer=in.nextLine();
}
if(isPalindrome(input))
   System.out.println(input+" is a Palindrome");
else
    System.out.println(input+" is not a Palindrome");

}
public static boolean isPalindrome(String input )
{int i=0,j;
boolean y=false;
input=filter(input);
j=input.length()-1;
while(input.charAt(i)==input.charAt(j)&&i<=j)
      {i++;
       j--;
       }
if(i>j)
    y=true;
return y;
}
public static String filter(String input)
{String str="";
int i;
for(i=0;i<input.length();i++)
   if(Character.isLetter(input.charAt(i)))
        str=str+Character.toLowerCase(input.charAt(i));
return str;
}
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote