Java Java Basics Perfecting the Prototype Looping until the value passes

Adam Tyler
Adam Tyler
5,368 Points

"Do you understand while loops?" Loop while answer is No.

I don't understand where i have gone wrong.

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?");
  boolean isNo = response.equals("No");
  }while(isNo);

1 Answer

Steven Parker
Steven Parker
177,845 Points

Just like "response", the variable "isNo" should be declared before the loop. When you declare it inside the loop, it goes out of scope before it can be tested in the "while" expression.

Alternatively, you could eliminate the variable entirely and just put the expression you are setting it with into the "while" condition.

Adam Tyler
Adam Tyler
5,368 Points

Thank you, by declaring it outside I passed the challenge. But my I did, before, try to put the expression in the wile condition but it threw an error. I did it like this:

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

Is this wrong?

Steven Parker
Steven Parker
177,845 Points

The problem there is that the parentheses are unbalanced. It needs a final closing parenthesis to complete the conditional clause of the "where".