A palindrome is a word or a phrase that is the same when read both forward and backward. Examples are: "bob," "sees," or "never odd or even" (ignoring spaces). Write a program whose input is a word or phrase, and that outputs whether the input is a palindrome.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

The language is Java. This code works for single words but not phrases.

For example, if "dr awkward" is inputted, the code should output, dr awkward is a palindrome and the code provided prints "dr is not a palindrome"

Another example is "no lemon no melon" should output "no lemon no melon is a palindrome" but instead it is outputting "no is not a palindrome"

 
The image displays a Java program designed to check if a given word is a palindrome. A palindrome is a word that reads the same backward as forward.

**Program Explanation:**

```java
import java.util.Scanner;

public class LabProgram {
    public static void main(String[] args) {
        String word = "";
        String opposite = "";
        int i;
        Scanner scnr = new Scanner(System.in);
        word = scnr.next();
        String stri = word.replaceAll("", "");
        int length = stri.length();
        
        for (i = length - 1; i >= 0; i--) {
            opposite = opposite + stri.charAt(i);
        }
        
        if (stri.equals(opposite)) {
            System.out.println(word + " is a palindrome");
        } else {
            System.out.println(word + " is not a palindrome");
        }
    }
}
```

**Detailed Breakdown:**

- **Imports and Class Declaration:**
  - `import java.util.Scanner;` imports the Scanner class, allowing us to read user input.
  - `public class LabProgram {` declares a public class named `LabProgram`.

- **Main Method:**
  - `public static void main(String[] args) {` is the main method where the program starts execution.

- **Variables:**
  - `String word = "";` initializes an empty string `word`.
  - `String opposite = "";` initializes an empty string `opposite`.
  - `int i;` declares an integer variable `i`.

- **User Input:**
  - `Scanner scnr = new Scanner(System.in);` creates a Scanner object to read input from the system.
  - `word = scnr.next();` reads the next token (word) from input and assigns it to `word`.

- **Processing:**
  - `String stri = word.replaceAll("", "");` replaces any unwanted characters from `word`. (In this example, the operation has no effect.)
  - `int length = stri.length();` determines the length of the string.

- **Palindrome Check:**
  - The `for` loop iterates from the end of the string to the beginning, constructing the `opposite` string by appending characters in reverse order.
  - `if (stri.equals(opposite)) {` compares the original string with its reversed version.
    - If they are equal, the word is a palindrome,
Transcribed Image Text:The image displays a Java program designed to check if a given word is a palindrome. A palindrome is a word that reads the same backward as forward. **Program Explanation:** ```java import java.util.Scanner; public class LabProgram { public static void main(String[] args) { String word = ""; String opposite = ""; int i; Scanner scnr = new Scanner(System.in); word = scnr.next(); String stri = word.replaceAll("", ""); int length = stri.length(); for (i = length - 1; i >= 0; i--) { opposite = opposite + stri.charAt(i); } if (stri.equals(opposite)) { System.out.println(word + " is a palindrome"); } else { System.out.println(word + " is not a palindrome"); } } } ``` **Detailed Breakdown:** - **Imports and Class Declaration:** - `import java.util.Scanner;` imports the Scanner class, allowing us to read user input. - `public class LabProgram {` declares a public class named `LabProgram`. - **Main Method:** - `public static void main(String[] args) {` is the main method where the program starts execution. - **Variables:** - `String word = "";` initializes an empty string `word`. - `String opposite = "";` initializes an empty string `opposite`. - `int i;` declares an integer variable `i`. - **User Input:** - `Scanner scnr = new Scanner(System.in);` creates a Scanner object to read input from the system. - `word = scnr.next();` reads the next token (word) from input and assigns it to `word`. - **Processing:** - `String stri = word.replaceAll("", "");` replaces any unwanted characters from `word`. (In this example, the operation has no effect.) - `int length = stri.length();` determines the length of the string. - **Palindrome Check:** - The `for` loop iterates from the end of the string to the beginning, constructing the `opposite` string by appending characters in reverse order. - `if (stri.equals(opposite)) {` compares the original string with its reversed version. - If they are equal, the word is a palindrome,
A palindrome is a word or a phrase that is the same when read both forward and backward. Examples are: "bob," "sees," or "never odd or even" (ignoring spaces). Write a program whose input is a word or phrase, and that outputs whether the input is a palindrome.

Example: If the input is:

```
bob
```

the output is:

```
bob is a palindrome
```

Example: If the input is:

```
bobby
```

the output is:

```
bobby is not a palindrome
```

**Hint:** Start by just handling single-word input, and submit for grading. Once passing single-word test cases, extend the program to handle phrases. If the input is a phrase, remove or ignore spaces.
Transcribed Image Text:A palindrome is a word or a phrase that is the same when read both forward and backward. Examples are: "bob," "sees," or "never odd or even" (ignoring spaces). Write a program whose input is a word or phrase, and that outputs whether the input is a palindrome. Example: If the input is: ``` bob ``` the output is: ``` bob is a palindrome ``` Example: If the input is: ``` bobby ``` the output is: ``` bobby is not a palindrome ``` **Hint:** Start by just handling single-word input, and submit for grading. Once passing single-word test cases, extend the program to handle phrases. If the input is a phrase, remove or ignore spaces.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps with 2 images

Blurred answer
Knowledge Booster
Random Class and its operations
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education