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

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,512 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");