Java Java Basics Perfecting the Prototype Reviewing Our Feedback

I keep getting the response reached end of file while parsing. I cannot figure out where I am missing a bracket.

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__.
 int age =12;
  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: ");
 String adverb = console.readLine("Enter an adjective: ");
 String verb = console.readLine("Enter a verb ending in -ing: "); 
  {
  console.printf("Your TreeStory:\n--------------\n");
  console.printf("%s is a %s %s.  ", name, adjective, noun);
  console.printf("They are always %s %s.\n", adverb, verb);
  }

2 Answers

Steven Parker
Steven Parker
203,717 Points

A good check for balanced braces is to count opens and closes and see if they match. Right now, I see 4 opens but only 2 closes (so you need 2 more closes).

Check for other syntax issues as well. For example, I would not expect to see a semicolon between a conditional expression and the brace starting the code block.

Hi, I made them equal and the new code is below, but it still does not work. I need more help. I have been stuck here for over two days and need a bit more guidance because I am not seeing the answer.

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__.
 int age =12;
  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: ");
 String adverb = console.readLine("Enter an adjective: ");
 String verb = console.readLine("Enter a verb ending in -ing: "){
  console.printf("Your TreeStory:\n--------------\n");
  console.printf("%s is a %s %s.  ", name, adjective, noun);
  console.printf("They are always %s %s.\n", adverb, verb);
  }
Steven Parker
Steven Parker
203,717 Points

The braces are balanced now, but it looks like instead of adding the missing closes, you took away some of the necessary opens. :see_no_evil:

Also, the line that assigns the "verb" was correct the first time but now it is missing a semicolon.