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

KHARAK SINGH
KHARAK SINGH
1,061 Points

how to avoid too many loops in While loop?

String DoWhile; String response; boolean xyz; do { DoWhile = console.readLine("Do you understand do while loops? "); response = console.readLine("%s", DoWhile); xyz = DoWhile.equalsIgnoreCase("NO"); if (xyz); } while (xyz);

Example.java
// I have initialized a java.io.Console for you. It is in a variable named console.
String DoWhile;
String response;
boolean xyz;
do {
DoWhile = console.readLine("Do you understand do while loops?  ");
response = console.readLine("%s", DoWhile);
  xyz = DoWhile.equalsIgnoreCase("NO");
  if (xyz);
} while (xyz);

2 Answers

It says "too many loops" because it was in an infinite loop until the editor stopped execution.

String response;
do {
  response = console.readLine("Do you understand do while loops? ");
} while(response == "No");
console.printf("Because you said %s you passed the test!", response);

The first line declares a String variable named response. The next line starts the do...while loop. The third line prompts the user, and assigns the user's response to the variable response. The next line contains the condition for the do...while... loop, which means it will continue running until the user enters Yes. The final line prints a String to the console using the printf() method. Think of the %s as a variable that will be replaced by the value of response.

I know this is a year late but bless your soul, jcorum.