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

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

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?

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

thank you! i figured it out, took me a while tho.

Thanks Michael :)

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);
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);

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);

this is fine for java script

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);

'''

This is my answer :)

String response = "";

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