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

Adan Huerta
Adan Huerta
3,209 Points

Loops Do if While

I'm not sure that I am structuring this correctly... Help?

Question: 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 = console.readLine("Do you understand while loops?");
boolean response;  
    do {
      console.readLine("Do you understand while loops?");
      response = response.equalsIgnoreCase("No");

      if (response) {
      console.readLine("Do you understand while loops?");
    }   
    while(response);
}

1 Answer

Hey Adan, here's how to structure that snippet:

String response = console.readLine("Do you understand while loops?");
boolean responseIsNo = response.equalsIgnoreCase("No");
do {
  if (responseIsNo) {
    response = console.readLine("Do you understand while loops?");
    responseIsNo = response.equalsIgnoreCase("No");
  }
} while (responseIsNo)

Once in the loop, the program will prompt the user again if responseIsNo is true, and update its value with their response. The program will then check responseIsNo and either continue looping or exit based on its value. Hope this helps, let me know if this works!

Also, try not to name variables the same thing as it will result in errors and unexpected behavior for the most part. Java is renowned for its verbose nature so definitely name your variables in a way that they're easy to differentiate and self-explanatory =)