w3resource

Scala Program: Check Palindrome using if/else and pattern matching

Scala Control Flow Exercise-8 with Solution

Write a Scala program to check if a given string is a palindrome using if/else statements and pattern matching.

Sample Solution:

Scala Code:

object PalindromeChecker {
  def main(args: Array[String]): Unit = {
        val str: String = "madam" // String you want to check
    //  val str: String = "Scala" // String you want to check

    // Check using if/else statements
    val isPalindrome: Boolean = checkPalindromeIfElse(str)
    if (isPalindrome) {
      println(s"The string $str is a palindrome.")
    } else {
      println(s"The string $str is not a palindrome.")
    }

  }

  def checkPalindromeIfElse(str: String): Boolean = {
    val reversed = str.reverse
    if (str == reversed) {
      true
    } else {
      false
    }
  }

  def checkPalindromeMatch(str: String): Boolean = {
    str.reverse match {
      case `str` => true
      case _     => false
    }
  }
}

Sample Output:

The string madam is a palindrome.
The string Scala is not a palindrome.

Explanation:

In the above exercise -

  • First we define a variable str and assign it a value ("level" in this case) representing the string we want to check for palindromes.
  • We have two functions: "checkPalindromeIfElse()" and "checkPalindromeMatch()". The first function uses if/else statements to check if the given string is a palindrome. It reverses the string using the reverse method and compares it with the original string. If they are equal, it returns true; otherwise, it returns false.
  • The second function, "checkPalindromeMatch()", uses pattern matching. It reverses the string and matches it against the original string using a pattern. If the reversed string matches the original string, it returns true; otherwise, it returns false.
  • We call both functions and print the results using println. If the returned value is true, the string is a palindrome; otherwise, it is not a palindrome.

Scala Code Editor :

Previous: Scala program to find the sum of array elements using a for loop.
Next: Count vowels with if/else and pattern matching.

What is the difficulty level of this exercise?



Follow us on Facebook and Twitter for latest update.