JAVA problem! The goal of this exercise is to continue practicing writing functi
ID: 3671369 • Letter: J
Question
JAVA problem!
The goal of this exercise is to continue practicing writing functions and manipulating strings.
A palindrome is a word or sequence that reads the same forward as backward. Examples of palindromes are racecar or 213312.
Create a predicate function boolean isPalindrome(String word), which returns true if the string argument is a palindrome, and returns false if the string is not a palindrome.
Write a test program that accepts strings as input and tests whether or not each string is a palindrome. The program will terminate when "quit" is entered. An example run is shown below:
Warnings
You are not allowed to use the built-in functions sort() and reverse().
Strings are compared using the .equals() function.
Explanation / Answer
import java.util.Scanner; public class Palindromes { public static boolean isPal(String s) { if(s.length() == 0 || s.length() == 1) // if length =0 OR 1 then it is return true; if(s.charAt(0) == s.charAt(s.length()-1)) // check for first and last char of String: // if they are same then do the same thing for a substring // with first and last char removed. and carry on this // until you string completes or condition fails return isPal(s.substring(1, s.length()-1)); // if its not the case than string is not. return false; } public static void main(String[]args) { Scanner sc = new Scanner(System.in); System.out.println("type a word to check if its a palindrome or not"); String x = sc.nextLine(); if(isPal(x)) System.out.println(x + " is a palindrome"); else System.out.println(x + " is not a palindrome"); } }
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.