Java Java Basics Perfecting the Prototype Censoring Words - Using Logical ORs

At 01:53... I try to compile and run and get this "cannot find symbol" error.

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!
        */
        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 program.\n");
          System.exit(0);
        }
        String name = console.readLine("Enter a name:  ");
        String adjective = console.readLine("Enter an adjective:  ");
        String noun = console.readLine("Enter a noun:  ");
       if (noun.equalsIgnoreCase ("dork") || noun.equalsIngoreCase ("jerk")) {
          console.printf("That language is not allowed, Exiting. \n\n");
          System.exit(0);
        } 
        String adverb = console.readLine("Enter an adverb:  ");
        String verb = console.readLine("Enter a verb ending with -ing:  ");

        console.printf("\nYour TreeStory: \n---------------\n");
        console.printf("%s is a %s %s. ", name, adjective, noun);
        console.printf("They are always %s %s.\n", adverb, verb);
    }

}

That's my code but the console error says... on the compile...

javac TreeStory.java
TreeStory.java:23: error: cannot find symbol
if (noun.equalsIgnoreCase("dork") || noun.equalsIngoreCase("jerk")) {
^
symbol: method equalsIngoreCase(String)
location: variable noun of type String
1 error

Need help. Thanks.

4 Answers

Andrew Winkler
Andrew Winkler
37,716 Points

Try this instead:

import java.io.Console;

pulblic 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!
      */
    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 =console.readLine("Enter a noun:  ");
    if (noun.equalsIgnoreCase("dork") || 
        noun.equalsIgnoreCase("jerk"))
    {
      console.printf("The language is not allowed. Exiting! \n\n");
      System.exit(0);
    }
    String adverb = console.readLine("Enter an adverb:  ");
    String verb = console.readLine("Enter a verb ending with -ing:  ");

    console.printf("\nYour TreeStory: \n---------------\n");
    console.printf("%s is a %s %s. ", name, adjective, noun);
    console.printf("They are always %s %s.\n", adverb, verb);
  }
}

It looks like there was some weird formatting with your if statement which the treehouse compiler can be picky about. If this helps, please vote best answer! Happy coding!

Seth Kroger
MOD
Seth Kroger
Treehouse Moderator 56,308 Points

Looks like you left off the n in second equalsIg*n*oreCase() on that line.

[also editing question for formatting]

Andrew Winkler
Andrew Winkler
37,716 Points

To be articulate, you made a typo concerning the 'g' and the 'n' in the 2nd equalsIgnoreCase() on line 23. look at the error code closely:

javac TreeStory.java

TreeStory.java:23: error: cannot find symbol

if (noun.equalsIgnoreCase("dork") || noun.equals*Ingore*Case("jerk")) { ^

symbol: method equals*Ingore*Case(String)

location: variable noun of type String

1 error

Thanks both.