Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
expand_more
expand_more
format_list_bulleted
Bartleby Related Questions Icon
Related questions
bartleby
Concept explainers
Question
JAVA Program
Modify this program so it passes all the Test cases and it should not use a while loop. Instead try to write a recursive method that doesn't copy the string over and over again. I have provided the failed test cases.
import java.util.Scanner;
// creating a class
class Main {
// creating a method that determines whether the given string is palindrome or not
public static boolean isPalindrome(String str) {
// if length of the given string is 0 or 1
if (str.length() <= 1) {
return true;
}
// otherwise
else if (str.charAt(0) == str.charAt(str.length() - 1)) {
return isPalindrome(str.substring(1, str.length() - 1));
} else {
return false;
}
}
// Driver code
public static void main(String[] args) {
// scanner object used to take user inputs
Scanner sc = new Scanner(System.in);
String str;
while(true){
System.out.println("Please enter a string to test for palindrome or type QUIT to exit:");
// taking a string and convert it into lower case
str = sc.nextLine().toLowerCase();
if (str.equals("quit")) {
break;
}
// otherwise
else{
// if method returns true
if (isPalindrome(str)) {
System.out.println("The input is a palindrome.");
}
// otherwise
else {
System.out.println("The input is not a palindrome.");
}
}
}
}
}
// creating a class
class Main {
// creating a method that determines whether the given string is palindrome or not
public static boolean isPalindrome(String str) {
// if length of the given string is 0 or 1
if (str.length() <= 1) {
return true;
}
// otherwise
else if (str.charAt(0) == str.charAt(str.length() - 1)) {
return isPalindrome(str.substring(1, str.length() - 1));
} else {
return false;
}
}
// Driver code
public static void main(String[] args) {
// scanner object used to take user inputs
Scanner sc = new Scanner(System.in);
String str;
while(true){
System.out.println("Please enter a string to test for palindrome or type QUIT to exit:");
// taking a string and convert it into lower case
str = sc.nextLine().toLowerCase();
if (str.equals("quit")) {
break;
}
// otherwise
else{
// if method returns true
if (isPalindrome(str)) {
System.out.println("The input is a palindrome.");
}
// otherwise
else {
System.out.println("The input is not a palindrome.");
}
}
}
}
}
Chapter 16. PC #5. Palindrome Detector (page 1073)
A palindrome is any word, phrase, or sentence that reads the same forward and backward. Here are some well-known palindromes:
Able was I, ere I saw Elba
A man, a plan, a canal, Panama
Desserts, I stressed
Kayak
Write a boolean method that uses recursion to determine whether a String argument is a palindrome. The method should return true if the argument reads the same forward and backward. Demonstrate the method in a program.
The program should ask the user to enter a string, which is checked for palindrome property. The program displays whether the given input is a palindrome or not, then prompts the user to enter another string. If the user enters QUIT (case insensitive, then exit the program).
Test Case 1
Please enter a string to test for palindrome or type QUIT to exit:\n
Desserts, I stressedENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
KayakENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quitENTER
Desserts, I stressedENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
KayakENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quitENTER
Test Case 2
Please enter a string to test for palindrome or type QUIT to exit:\n
dadENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quitENTER
dadENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quitENTER
Test Case 3
Please enter a string to test for palindrome or type QUIT to exit:\n
momENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
QuitENTER
momENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
QuitENTER
Test Case 4
Please enter a string to test for palindrome or type QUIT to exit:\n
helloENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quiTENTER
helloENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quiTENTER
Test Case 5
Please enter a string to test for palindrome or type QUIT to exit:\n
b,a,dENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quitENTER
b,a,dENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quitENTER
Test Case 6
Please enter a string to test for palindrome or type QUIT to exit:\n
Able was I, ere I saw ElbaENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quitENTER
Able was I, ere I saw ElbaENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quitENTER
Test Case 7
Please enter a string to test for palindrome or type QUIT to exit:\n
A man, a plan, a canal, PanamaENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quitENTER
A man, a plan, a canal, PanamaENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quitENTER
Test Case 8
Passed!
Please enter a string to test for palindrome or type QUIT to exit:\n
@abENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
ab@ENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
@aaENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
aa@ENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quitENTER
@abENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
ab@ENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
@aaENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
aa@ENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quitENTER
Test Case 9
Passed!
Please enter a string to test for palindrome or type QUIT to exit:\n
abbaENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
abcaENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
aabcaaENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
abaceedabaENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quitENTER
abbaENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
abcaENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
aabcaaENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
abaceedabaENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quitENTER
Transcribed Image Text:Test Case 1 Failed Show what's missing
Please enter a string to test for palindrome or type QUIT to exit: \n
Desserts, I stressed ENTER
The input is not a palindrome. \n
Please enter a string to test for palindrome or type QUIT to exit: \n
Kayak ENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit: \n
quit ENTER
Test Case 2 Passed!
Please enter a string to test for palindrome or type QUIT to exit: \n
dad ENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit: \n
quit ENTER
Test Case 3 Passed!
Please enter a string to test for palindrome or type QUIT to exit: \n
mom ENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit: \n
Quit ENTER
Transcribed Image Text:Test Case 4 Passed!
Please enter a string to test for palindrome or type QUIT to exit:\n
hello ENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quiT ENTER
Test Case 5 Passed!
Please enter a string to test for palindrome or type QUIT to exit: \n
b,a,d ENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit: \n
quit ENTER
Test Case 6 Failed Show what's missing
Please enter a string to test for palindrome or type QUIT to exit: \n
Able was I, ere I saw Elba ENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quit ENTER
Test Case 7 Failed Show what's missing
Please enter a string to test for palindrome or type QUIT to exit: \n
A man, a plan, a canal, Panama ENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit: \n
quit ENTER
Test Case 8 Failed Show what's missing
Please enter a string to test for palindrome or type QUIT to exit: \n
@ab ENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit: \n
abe ENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit: \n
@aa ENTER
The inn
The
input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
aa@ENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
quit ENTER
Test Case 9 Passed!
Please enter a string to test for palindrome or type QUIT to exit: \n
abba ENTER
The input is a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit:\n
abca|ENTER|
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit: \n
aabcaa ENTER
CanadENT
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit: \n
abaceedaba ENTER
The input is not a palindrome.\n
Please enter a string to test for palindrome or type QUIT to exit: \n
quit ENTER
Screenshot
Expert Solution
Check MarkThis question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
bartleby
This is a popular solution
bartleby
Trending nowThis is a popular solution!
bartleby
Step by stepSolved in 4 steps with 3 images
Knowledge Booster
Background pattern image
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
- Modify this JAVA Program Take out while (true) { from the program and use something else. Instead use a recursive method that doesn't copy the string over and over again. import java.util.Scanner;public class PalindromeChecker { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (true) { System.out.print("Please enter a string to test for palindrome or type QUIT to exit:\n"); String input = scanner.nextLine().toLowerCase(); if (input.equals("quit")) { break; } if (isPalindrome(input)) { System.out.println("The input is a palindrome."); } else { System.out.println("The input is not a palindrome."); } } } private static boolean isPalindrome(String str) { str = str.replaceAll("[^a-zA-Z0-9]", ""); int left = 0; int right = str.length() - 1; while (left < right) {...arrow_forwardI need help with this Java problem to output like in this image below (Not the one highlighted in yellow): Number pattern Write a recursive method called printNumPattern() to output the following number pattern. Given a positive integer as input (Ex: 12), subtract another positive integer (Ex: 3) continually until a negative value is reached, and then continually add the second integer until the first integer is again reached. For this lab, do not end output with a newline. Ex. If the input is: 12 3 the output is: 12 9 6 3 0 -3 0 3 6 9 12 This Java code that I need help with: import java.util.Scanner; public class NumberPattern { public static void printNumPattern(int x, int y) { System.out.print(x+" "); int n=x-y; if (n < 0) { System.out.print(n+" "); System.out.print(x+" "); while(n != 12){ n=x+y; x=x+y; System.out.print(n+" "); } return;...arrow_forwardPlease create a flowchart for the following program: // Import Scanner classimport java.util.Scanner; // Create a class Trianglepublic class Main{ // Method used to check given three sides form a valid triangle or not public static boolean isTriangle(double a, double b, double c) { // If sum of any two sides is greater than third side if((a+b > c) && (a+c > b) && (b+c > a)) { // Print triangle is valid System.out.println("Three sides form a valid triangle."); // Return true return true; } // If any of the above condition is false else {// Print triangle is invalidSystem.out.println("Three sides form a invalid triangle.\n"); // Return false return false; } } // Method used to compute the area of triangle public static double triArea(double a, double b, double c) { // Compute s double s = (a + b + c) / 2; // Compute the area of triangle double area = Math.sqrt(s*(s - a)*(s - b)*(s - c)); // Return the...arrow_forward
- Code 16-1 /** This class has a recursive method. */ public class EndlessRecursion { public static void message() { System.out.println("This is a recursive method."); message(); } } Code 16.2 /** This class has a recursive method message, which displays a message n times. */ public class Recursive { public static void messge (int n) { if (n>0) { System.out.println (" This is a recursive method."); message(n-1); } } } Task #1 Tracing Recursive Methods 1. Copy the file Recursion.java (see Code Listing 16.1) from the Student Files or as directed by your instructor. 2. Run the program to confirm that the generated answer is correct. Modify the factorial method in the following ways: a. Add these lines above the first if statement: int temp; System.out.println("Method call -- " + "calculating " + "Factorial of: " + n); Copyright © 2019 Pearson Education, Inc., Hoboken NJ b. Remove this line in the recursive section at the end of the method: return...arrow_forwardJava - Help Please How do I output this statement as a horizontal statement with a newline? Everytime I use System.out.println, it makes the entire output vertical instead of horizontal. Program below. import java.util.Scanner; public class LabProgram { public static void main(String[] args) { int x; int y; Scanner scan = new Scanner(System.in); x = scan.nextInt(); y = scan.nextInt(); if(y >= x){ for(int i=x; i<=y; i = i + 5) { System.out.print(i+ " "); (The problem line) } } else{ System.out.print("Second integer can't be less than the first."); } }}arrow_forwardStuck on Java again. Have to complete this using for-loops but everything I've tried has just given me errors. Any help would be appreciated!arrow_forward
- Write code that prints: countNum ... 21 Print a newline after each number. Ex: If the input is: 3 the output is: 3 2 1 1 import java.util.Scanner; 3 public class ForLoops { UAWN HOUх и блашин 2 ST 4 5 6 7 8 9 10 11 12 13 14 15 } public static void main (String [] args) { int countNum; int i; Scanner input = new Scanner(System.in); input.nextInt(); countNum = for * Your code goes here *) { System.out.println(i); } }arrow_forwardWrite the code in java and understand what the question says and give me the code and don't copy or plagiarize pleasearrow_forwardWrite a Non tail recursion and a tail recursion method in Java with a test class that does the following: The factorial of a positive integer n —which we denote as n!—is the product of n and the factorial of n 1. The factorial of 0 is 1. Write two different recursive methods in Java that each return the factorial of n. Please and Thank youarrow_forward
- Write a recursive method called drawTriangle() that outputs lines of '*' to form an upside down isosceles triangle. Method drawTriangle() has one parameter, an integer representing the base length of the triangle. Assume the base length is always odd and less than 20. Output 9 spaces before the first '*' on the last line for correct formatting. Hint: The number of '*' decreases by 2 for every line drawn. Ex: If the input of the program is: 3 the method drawTriangle() outputs: *** * Ex: If the input of the program is: 19 the method drawTriangle() outputs: ******************* ***************** *************** ************* *********** ********* ******* ***** *** * Note: No space is output before the first '*' on the first line when the base length is 19.arrow_forwardBesides main() this program has one method that computes the amount of raise and the new salary for an employee. The current salary and a performance rating (a String: "Excellent", "Good" or "Poor") are input. import java.util.Scanner; public class Salary { public static void main (String[] args) { Declare variables Prompt for and read current salary and rating For an excellent rating compute raise as 0.06 of current salary For a good rating compute raise as 0.04 of current salary For a poor rating compute raise as 0.015 of current salary You can use abc.equals("xyz") to verify the rating read For an invalid rating display an appropriate message and display the salary without change; otherwise, compute and print new salary and raise amount main() must display the message } } Note:- Please type and execute this java program and also need an output for this java program as soon as possible.arrow_forwardJava Questions - (Has 2 Parts). Based on each code, which answer out of the choices "A, B, C, D, E" is correct. Each question has one correct answer. Thank you. Part 1 - Given the following code, the output is __. class Sample{ public static void main (String[] args){ try{ System.out.println(5/0);}catch(ArithmeticException e){ System.out.print("Divide by zero????");}finally{ System.out.println("5/0"); } }} A. Divide by zero????B. 5/0C. Divide by zero????5/0D. 5/0Divide by zero????E. "5/0" Part 2 - Given the following code, the output is __. try{ Integer number = new Integer("1"); System.out.println("An Integer instance.");}catch (Exception e){ System.out.println("An Exception.");} A. An Integer instance.B. An Exception.C. 1D. Error: ExceptionE. None of the optionsarrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Text book imageDatabase System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationText book imageStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONText book imageDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- Text book imageC How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONText book imageDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningText book imageProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education