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

Ernest Tidwell II
PLUS
Ernest Tidwell II
Courses Plus Student 6,658 Points

continually prompt user in do while loop, declare response outside loop. im really stuck on this

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. this has me stuck!

Example.java
// I have initialized a java.io.Console for you. It is in a variable named console.
String noun;
boolean isInvalidWord;
do { 
  String response = console.readLine("Do you understand do while loops?  ");
  noun = console.readLine("enter a noun:  ");
  isInvalidWord = ("no"));
} while(isInvalidWord);
if(isInvalidWord);
console.printf("Try again.  \n\n");

10 Answers

Michael Hess
Michael Hess
24,511 Points

Hi Ernest,

There's no need for the if statement. Please refer to the following:

//Declare a String variable named response, then initialize it using double quotes
String response ="";


// The do while loop keeps asking the same question until "yes" is entered
//So we want to keep repeating when "no" is typed
// Exit the loop when "yes" is entered

do{
response = console.readLine("Do you understand do while loops?");  // "yes" or "no" is stored in the response variable 
// when someone types "no" the loop repeats
// when someone types "yes" the loop is exited
}while(response.equalsIgnoreCase("no"));

//After the loop exits, the following line prints to the console
console.printf("Because you said %s, you passed the test!",response); //task 3

If you have any other questions feel free to ask!

Was this information in the lesson? The lessons used console.readLine("XYZ"); and yet you introduce ="";

Trying to go lesson by lesson but people answer questions I'm stuck on with stuff we haven't seen yet?

Tim Redmond
Tim Redmond
495 Points

Thanks Michael. This is the first I've encountered an empty " "? What does leaving them blank do?

Thanks a lot dude!

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

} while(answer);
Peter Rzepka
Peter Rzepka
4,118 Points
String response;
//PT2
boolean isInvalidWord;
do {
  response = console.readLine("Do you understand do while loops?  ");
  isInvalidWord = (response.equalsIgnoreCase("No"));
  if (isInvalidWord);
  } while(isInvalidWord);
//PT 3
console.printf("Because you said %s, you passed the test!", response);
Pratham Mishra
Pratham Mishra
Courses Plus Student 935 Points

this is the code which worked for my question and the question is listed below:- 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 answer; do { response = console.readLine("Do you understand do while loops? "); answer = response.equalsIgnoreCase("No"); if (answer){ console.printf("Try again!"); }

} while(answer);

var x = "Hello world!";

console.log(x);

Try this:

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

} while(answer);

'''

OUSSAMA ER ERABILI
OUSSAMA ER ERABILI
8,177 Points

This is my answer :)

String response = "";

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