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 Task 2 of 3

Hi! I'm a bit stuck in the last exercise i'm not understading what i am supposed to do.

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.

String response;
boolean isInvalidWord;
do {
 response = console.readLine("Do you understand do while loops?");
  isInvalidWord = ("No");
  if(isInvalidWord) {
  console.printf("Try again");
  }
} while (isInvalidWord);

It gives me this error:

JavaTester.java:123: error: incompatible types: String cannot be converted to boolean isInvalidWord = ("No"); ^ 1 error

1 Answer

Hi Pedro,

You've got the while loop working correctly. but you've added an extra condition in there that's not needed.

The loop should continue while the variable response contains the value (.equals) "No". So, there's no need for the isInvalidWord variable. Try something like:

String response;
do{
  response = console.readLine("Do you understand do while loops?: ");
}(while response.equals("No"));

That will keep going until the answer is not "No" and will prompt the user at each iteration.

Make sense?

Steve.

Makes perfect sense! Thanks alot!