Explanation of Solution
Program:
//Import required packages
import java.util.Stack;
//Definition of class Test
public class Test
{
//Declare the variable
public int top;
//Definition of main method
public static void main(String[] args) {
//Call the method
waysToClimb(4);
}
//Definition of method waysToClimb()
public static void waysToClimb(int stairs)
{
//Create an object for stack
Stack<Integer> value = new Stack<Integer>();
//Call the recursive method waysToClimn()
waysToClimb(stairs, value);
}
//Definition of method waysToClimn
private static void waysToClimb(int stairs, Stack<Integer> value)
{
//Check whether the staris less than or equal to 0
if (stairs <= 0)
{
//Print the value
System.out.println(value);
}
//Otherwise
else {
//Push the value to the stack
value.push(1);
//Call the recursive method waysToClimb
waysToClimb(stairs - 1, value);
//Pop the value from the stack
value...
Want to see the full answer?
Check out a sample textbook solutionChapter 12 Solutions
EBK BUILDING JAVA PROGRAMS
- Write a Java program that asks the user to enter a string and counts how many times the letter "s" or "S" appears in the string. Display that number and then display the string that many times. Requirements: Call a method that gets the string from the user. Use recursion to ensure the string has at least 5 characters. Call a method that returns the number of times the letter "s" or "S" appears in the string. This method should use recursion. Call a method that takes the number of times the letter"s" or "S" appeared in the string and display the original string that was obtained from the user that many times using recursion. Call a method that sorts the letters in the string and searches for the letter "m". Display Found or Not Found.arrow_forwardsolve it without using Arrays and the method should take int and return a String Write a recursive method in java that returns a string that contains the octal representation of a positive integer. Test your method. Hint: An octal number is the base-8 number system, and uses the digits 0 to 7. For example, the number 12 can be converted to octal number as follows: Divide by 8, the remainder represents the first digit so 12/8 = 1 and the remainder is 4 so the first digit is 4. The quotient is 1. Then we divide 1 over 8 we get zero and the remainder is 1. The second digit is 1 and we stop. The equivalent octal number for 12 is 14.arrow_forwardYou will be given an array A of length n. Write a method to calculate the following value of X using recursion. X = Ao x 7° + A1 x 7' + Az × 7² +. +An-1 x 7"-1 • The recursion can have any number of parameters. You can't use loops or math.pow() or a separate recursive function to calculate 7". The return type should be integer. • The range for n is 1arrow_forwardGiven a string, write a method that returns the number of occurrences of substrings "baba" or "mama" in the input string recursively. They may overlap. Do not use any loops within your code. Do not use any regular expressions and methods such as matches, split, replaceAll. "Maa mana, Test case 1: countBabaMama ("aba babaa amama ma") 2 Test case 2: countBabaMama ("bababamamama") 4arrow_forwardWrite 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_forwardJAVA Phone numbers and PIN codes can be easier to remember when you find words that spell out thenumber on a standard phone pad. For example, instead of remembering the combination 5282,you can just think of JAVA.Write a recursive method that, given a number, yields all possible spellings (which may or maynot be real words).arrow_forwardWrite a program that draws a square fractal. Fractals are images that keep repeating their own image in ever-smaller versions. There exists numerous fractals and some fractals rely on computation of advanced mathematics. All fractals have a recursive quality and provide an ideal platform for practicing recursive concepts. You will note that from the four corners of the center rectangle, smaller rectangles are drawn and each rectangle in turn continues to draw three smaller rectangles until the rectangle is the size of one pixel. A CODE TEMPLATE & PICTURE OF OUTPUT IS ALREADY PROVIDED IN THE ATTACHED PICTURES Method drawSquare1 gets the ball rolling and draws a solid rectangle in the center of the screen. The initial rectangle needs to be 1/4 the size of the monitor. This explains why it is important to know the screen resolution and why this information is passed by parameter. Method drawSquare1 needs to make four method calls to draw each one of the four rectangles attached to…arrow_forwardWrite a program that lists all ways people can line up for a photo (all permutations of a list of strings). The program will read a list of one word names (until -1), and use a recursive method to create and output all possible orderings of those names, one ordering per line. When the input is: Julia Lucas Mia -1 then the output is (must match the below ordering): Julia Lucas Mia Julia Mia Lucas Lucas Julia Mia Lucas Mia Julia Mia Julia Lucas Mia Lucas Julia partial code below, only lines 9-11, and 18 can be added onto, the rest must stay the same. #include <vector>#include <string>#include <iostream> using namespace std; // TODO: Write method to create and output all permutations of the list of names.void AllPermutations(const vector<string> &permList, const vector<string> &nameList) { } int main(int argc, char* argv[]) { vector<string> nameList; vector<string> permList; string name; // TODO: Read in a list of names; stop…arrow_forwardWrite a program that lists all ways people can line up for a photo (all permutations of a list of strings). The program will read a list of one word names (until -1), and use a recursive method to create and output all possible orderings of those names, one ordering per line. When the input is: Julia Lucas Mia -1 then the output is (must match the below ordering): Julia Lucas Mia Julia Mia Lucas Lucas Julia Mia Lucas Mia Julia Mia Julia Lucas Mia Lucas Julia Partially done code (C++): #include <vector>#include <string>#include <iostream> using namespace std; // TODO: Write method to create and output all permutations of the list of names.void AllPermutations(const vector<string> &permList, const vector<string> &nameList) { } int main(int argc, char* argv[]) {vector<string> nameList;vector<string> permList;string name; // TODO: Read in a list of names; stop when -1 is read. Then call recursive method.return 0;}arrow_forwardWrite a program that lists all ways people can line up for a photo (all permutations of a list of strings). The program will read a list of one word names (until -1), and use a recursive method to create and output all possible orderings of those names, one ordering per line. When the input is: Julia Lucas Mia -1 then the output is (must match the below ordering): Julia Lucas Mia Julia Mia Lucas Lucas Julia Mia Lucas Mia Julia Mia Julia Lucas Mia Lucas Julia main.cpp #include <vector>#include <string>#include <iostream> using namespace std; // TODO: Write method to create and output all permutations of the list of names.void AllPermutations(const vector<string> &permList, const vector<string> &nameList) { } int main(int argc, char* argv[]) {vector<string> nameList;vector<string> permList;string name; // TODO: Read in a list of names; stop when -1 is read. Then call recursive method.return 0;}arrow_forwardWrite a recursive method that takes two integers n and m as parameters, where m is one digit number. The method should output odd digits in n that are greater then m. For example: If n =374, m=5, the method should output 7 If n =5239, m=2, the method should output 9 3 5 The method prototype: public static void printDigits(int n, int m)arrow_forwardWrite a recursive Java method that calculates the sum of n positive integer numbers. The math function is: f(n) = 1 + 2 + 3 + … + n. Jack, Peter and John were exploring a tunnel which allows only one person to pass through. Jack entered the tunnel first, followed by Peter. John entered the tunnel the last. The tunnel has a dead end. So the team has to turn back and retrieve from the tunnel one by one. Write a Java program based on a suitable data structure to simulate this process.arrow_forwardarrow_back_iosSEE MORE QUESTIONSarrow_forward_ios
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education