Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Java Java Basics Perfecting the Prototype Looping until the value passes

Confused... Overwhelmed.

So the challenge tells me: "Move the prompting code into a do while loop. Wrap the code into a do while code block and check in the while condition to see if who is "banana" so that the loop continues"

While I understand the concepts/application of a do/while loop, the prompt itself is confusing me, I'm not sure where to start.

Thanks in advance, Harry.

/*  So the age old knock knock joke goes like this:

    Person A:  Knock Knock.
    Person B:  Who's there?
    Person A:  Banana
    Person B:  Banana who?
    ...as long as Person A has answered Banana the above repeats endlessly
    ...assuming the person answers Orange we'd see
    Person B:  Orange who?
    ...and then the punchline.
    Person A:  Orange you glad I didn't say Banana again?
    (It's a really bad joke that makes it sound like "Aren't you glad I didn't say Banana again?")

    Let's just assume the only two words passed in from the console from Person B are either banana or orange.


// Person A asks:
console.printf("Knock Knock.\n");

// Person B asks and Person A's response is stored in the String who:
String who = console.readLine("Who's there?  ");

// Person B responds:
console.printf("%s who?\n", who);

Jonathan Grieve
Jonathan Grieve
Treehouse Moderator 91,253 Points

Hi Harry.

I'm afraid I don't know anything about Java so I don't have anything to answer your query. But I'm just taken by the fact you've put 2 emotions in your title to describe how the problem is making you feel.

I've been there! Having to tackle a new programming language to pass an assessment and feeling that you're not going to make it, that you feel inadequate because of it and that you're probably better off not bothering. Let me stress at this point I'm not suggesting that is right and that is the right course of action for you and me.

All I'm saying is that when this happens, take a breather. Try not to think about code for a little while. Tune your brain out of all things code.

You've done the right thing seeking help in this forum. :) Hopefully after you've had a chance to unwind someone will come up with the answer and it will switch on the lightbulb in your brain that says... "yea there's the answer" and you can kick on from there.

I just wanted to offer a bit of encouragement and hope it will help. :)


Jonathan Grieve - Thanks a ton! I'm actually on vacation right now, so that shouldn't be a problem. :) I'll keep your advice in mind for the future.

1 Answer

After where the comment reads "Begin prompting code", put do{

It will say "knock, knock", "who's there" prompt, use the prompt to say "(prompt) who." Then it needs to repeat. Before "end prompting code", put your }while(who=="banana")

Ok, that makes sense, thanks!

No problem