Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

Java Java Basics Perfecting the Prototype Looping until the value passes

while loop exercise help needed

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

String response;

do{ response = console.readLine("Do you understand do while loops?"); }while(response!=yes);

this code should ask for user input continuously and keep repeating it until the user press yes

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

String response;

do{
  response = console.readLine("Do you understand do while loops?");
}while(response!=yes);

2 Answers

To compare the value of two Strings in Java, you can try something of the form response.equals("yes"). To negate it, you could do !response.equals("yes").

Using !== would work in JavaScript, but gives you an error in Java.

Jonathan Grieve
MOD
Jonathan Grieve
Treehouse Moderator 90,689 Points

Try changing your while expression to the following

}while(response !== "yes");

You want to be testing for a string. `response` is a variable that holds the value of the user input.  But the way you have it, Java just thinks you're testing for the value of another variable.  Also the extra = for the comparison operator just ensures you're testing the exact data type and not using assigment.