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

I don't know how to finish this do while loop. Anyone know?

I posted my code based off another discussion post about this question, but the challenge still marked it incorrect.

The question was:

"Now continually prompt the user in a do while loop. The loop should continue running as long as the response is No. Don't forget to declare response outside of the do while loop."

Example.java
// I have initialized a java.io.Console for you. It is in a variable named console.
String response;

do {

String response = console.readLine("Do you understand while loops? ");             
                   } while (response == "No");
Krzysztof Kucharzyk
seal-mask
.a{fill-rule:evenodd;}techdegree
Krzysztof Kucharzyk
Front End Web Development Techdegree Student 4,005 Points
String response ="";
           do{
           response = console.readLine("Do you understand do while loops?");  // "yes" or "no" is stored in the response variable 
           } while (response.equalsIgnoreCase("no"));

//After the loop exits
console.printf("Because you said %s, you passed the test!",response);

1 Answer

Steven Parker
Steven Parker
231,268 Points

Be aware that code shown in other questions can often have errors (even when posted as an "answer").

But if you use the "preview" button, the output gives you a clue:

JavaTester.java:123: error: variable response is already defined in method run()
String response = console.readLine("Do you understand while loops? ");
       ^
1 error

So your issue here is declaring "response" twice. Only the first line should have the "String" declaration in front.