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

I am not sure what the code should look like here.

Do I need another Do here? I have tried else and if. I have even just tried printing it. I am not sure where to put the console.printf code. Please 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 while loops? ");
  if (response.equalsIgnoreCase("No")) {
    console.printf("Try again.");
  }
  if (response.equalsIgnoreCase("Yes")) { 
    console.printf("Because you said yes, you passed the test! ");
  }
} while(response.equalsIgnoreCase("No"));                 

2 Answers

Jason Wiram
Jason Wiram
42,762 Points

You are so close! Challenge 3 is asking you to print "Because you said yes, you passed the test! " You are doing that, but it wants you to print that string without "hard-coding" the word "yes". You need to pass the value of the variable 'response' into the printf() method so it says 'yes.'

console.printf("Because you said %s, you passed the test! ", response);
james south
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
james south
Front End Web Development Techdegree Graduate 33,271 Points

you don't need any ifs at all. the print statement goes after the while statement. it is supposed to run when the loop exits.

do{
something
}while(condition)
print