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

Ben Taylor
Ben Taylor
354 Points

Im not sure what is wrong, can anyone help :) ?

:)

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.equalsIgnoringCase("no"));
Chris McKirgan
Chris McKirgan
5,666 Points

Do you get an errors when this is run? It would be helpful to see any errors you are getting, or to hear an explanation of the issue you're having.

It's best to always provide this details alongside questions.

2 Answers

This might just be your capitalisation. This works:

// 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.equals("No"));
cmrtb
cmrtb
1,204 Points

To add to what Steve said, even though the question is not requiring it, you had written response.equalsIgnoringCase(), but it is "response.equalsIgnoreCase("whatever string")"

Well spotted - yes; the function isn't quite right too.

String response; 
boolean invalidWord;

do {
 response = console.readLine("Do you understand while loops?");
 invalidWord = (response.equalsIgnoreCase("no"));
 if (invalidWord) {
  console.printf("Response not valid. Please try again...\n");
    } 
 } while (invalidWord); 

Hope it helps :)