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 Censoring Words - Looping Until the Value Passes

lap Nguyen
lap Nguyen
715 Points

quiz question 2/3 help

Hi friends.

I'm stuck with this code.

import java.io.Console;

public class TreeStory {

public static void main(String[] args) {
    Console console = System.console();
    /*  Some terms:
        noun - Person, place or thing
        verb - An action
        adjective - A description used to modify or describe a noun
        Enter your amazing code here!
    */
  // __ Name ____ is a ____ adjective __ __ noun__. They are always __ adverb __ __ verb__.
  String ageAsString = console.readLine("How old are you?");
  int age = Integer.parseInt(ageAsString); 
  if (age < 13) {
    // insert exit code
    console.printf("Sorry you must be at least 13 to use this probgram.\n");
    System.exit(0); 
  }
 String name = console.readLine("Enter a name:  ");
 String adjective = console.readLine("Enter an adjective:  ");
 String noun;     
  do {
   noun = console.readLine("Enter a word n:  ")
   if (noun.toLowerCase("dork") || 
       noun.equalsIngoreCase("jerk")) {
      console.printf("That lanauge is not allowed.  Try again. \n\n");
   }
  } while(isInvalidWord);   
 String adverb = console.readLine("Enter an adverb:  ");
 String verb = console.readLine("Enter a verb ending in -ing:  "); 
 console.printf("Your TreeHouse: \n------------\n");
 console.printf("%s is a %s %s.  ", name, adjective, noun);
 console.printf("They are walways %s %s.\n ", adverb, verb);


}

}

heres the error:

treehouse:~/workspace$ javac TreeStory.java
Picked up JAVA_TOOL_OPTIONS: -Xmx128m
Picked up _JAVA_OPTIONS: -Xmx128m
TreeStory.java:25: error: ';' expected
noun = console.readLine("Enter a word n: ")
^
1 error

You just forgot to put the semicolon at the end of the line.

1 Answer

I'm very far from an authority, but your While statement makes reference to "isInvalidWord", but that hasn't been declared yet or isn't in that scope.

I made a "boolean isInvalidWord(noun.equalsIgnoreCase("dork") || noun.equalsIgnoreCase("jerk")" variable under my do so that I could reuse the code in the name of efficiency :)

Hope that helps some