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

Not printing "Bad language try again"!

When I run the code and type the bad words, it just jumps back to asking for a noun and doesn't print the error message! Sorry if being daft and overlooked something!

import java.io.Console;

public class Main {

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!
    */
    String ageAsString = console.readLine("How old are you: ");

    int age = Integer.parseInt(ageAsString);
    if (age < 13) {
        console.printf("Sorry you must be at least 13 to use this program!%n");
        System.exit(0);
    }

    String name = console.readLine("Enter your name: ");
    String adjective = console.readLine("Enter an adjective: ");

    String noun;
    boolean isInvalidWord;
    do {
        noun = console.readLine("Enter a noun: ");

        isInvalidWord = (noun.equalsIgnoreCase("dork") ||
                noun.equalsIgnoreCase("jerk"));

        if (isInvalidWord) {
            console.printf("That language is not allowed. Try again! %n%n"); //This is not printing!!!
        }

    } while (isInvalidWord);

    String adverb = console.readLine("Enter an adverb: ");
    String verb = console.readLine("Enter a verb: ");
    console.printf("%s is a(n) %s %s. They are always %s %s.", name, adjective, noun, adverb, verb);
}

}

1 Answer

ofir moalmi
ofir moalmi
2,161 Points

Didn't see anything wrong in your code, I even ran it myself and the error message did show up for me.