220k views
0 votes
For this exercise, you are going to write a recursive function that counts down to a Blastoff!

Your recursive function will not actually print. It will return a String that can be printed from the main function. Each recursive call will add on to that string.
In your main function, prompt the user for a starting value, then print the results.
Sample Output
Please enter a number to start:
5
5 4 3 2 1 Blastoff!
import java.util.Scanner;
public class Countdown
{
public static void main(String[] args)
{
// Start here
}
public static String countdown(int number)
{
// Base case - return Blastoff!
// Recursive call
}
}

1 Answer

3 votes

Answer:

import java.util.Scanner;

public class Countdown {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

int n;

System.out.print("Please enter a number to start: ");

n = input.nextInt();

System.out.print(countdown(n));

}

public static String countdown(int number) {

if(number>0) { return " "+number+countdown(number-1); }

else { return " Blastoff!"; }

}

}

Step-by-step explanation:

The main method begins here

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

This declares an integer variable n

int n;

This prompts user for a number

System.out.print("Please enter a number to start: ");

This gets user input n

n = input.nextInt();

This calls the countdown function

System.out.print(countdown(n));

}

The countdown function begins here

public static String countdown(int number) {

This is the base case where input number is greater than 0

if(number>0) { return " "+number+countdown(number-1); }

This ends the recursion

else { return " Blastoff!"; }

}

User Amrut Bidri
by
5.7k points