Quantcast

A community for students. Sign up today!

Here's the question you clicked on:

55 members online
  • 0 replying
  • 0 viewing

liquifiedkronic

  • 2 years ago

(Java) Write a recursive method that produces the following output: This was written by call number 1. This was written by call number 2. This was written by call number 3. This was written by call number 4. This ALSO written by call number 4. This ALSO written by call number 3. This ALSO written by call number 2. This ALSO written by call number 1.

  • This Question is Closed
  1. ecdown
    • 2 years ago
    Best Response
    You've already chosen the best response.
    Medals 2

    class recursiveprint { public static void callme(int x) { for(int y=0;y<x;y++) { System.out.print(" "); } System.out.println("This was written by call number " + x); if (x < 4) { callme(x+1); } for(int y=0;y<x;y++) { System.out.print(" "); } System.out.println("This ALSO written by call number " + x); } public static void main(String[] args) { callme(1); } }

  2. hisserbee
    • 2 years ago
    Best Response
    You've already chosen the best response.
    Medals 0

    Since the two lines outputted from call number 1 are at the beginning and end of the output block, that indicates that you recurse between the print statements that produce those lines. You should be able to write this function in three lines, not including the method signature. Remember, a recursive method is one that calls itself.

  3. ecdown
    • 2 years ago
    Best Response
    You've already chosen the best response.
    Medals 2

    I am sure there are ways to optimize my code, but it is recursive and creates the output.

  4. ecdown
    • 2 years ago
    Best Response
    You've already chosen the best response.
    Medals 2

    Optimized to your three line version... class recursiveprint2 { public static void callme(int x, String spaces) { System.out.println(spaces + "This was written by call number " + x); if (x < 4) callme(x+1,spaces + " "); System.out.println(spaces + "This ALSO written by call number " + x); } public static void main(String[] args) { callme(1,""); } }

  5. Not the answer you are looking for?
    Search for more explanations.

    • Attachments:

Ask your own question

Ask a Question
Find more explanations on OpenStudy

Your question is ready. Sign up for free to start getting answers.

spraguer (Moderator)
5 → View Detailed Profile

is replying to Can someone tell me what button the professor is hitting...

23

  • Teamwork 19 Teammate
  • Problem Solving 19 Hero
  • You have blocked this person.
  • ✔ You're a fan Checking fan status...

Thanks for being so helpful in mathematics. If you are getting quality help, make sure you spread the word about OpenStudy.

This is the testimonial you wrote.
You haven't written a testimonial for Owlfred.