Java Java Objects Delivering the MVP Forum

how may i use the arguments passed in from the main method in this program?

no idea what i am doing wrong on this code...

Forum.java
public class Forum {
  private String topic;

  // TODO: add a constructor that accepts a topic and sets the private field topic

  public Forum(String topic){
         this.topic=topic;
  }
  public String getTopic() {
         return topic;
  }


  // Uncomment this when you are prompted to do so

  public void addPost(ForumPost post) {
    System.out.printf("A new post in %s from %s %s about %s is available",
            topic,
            post.getAuthor().getFirstName(),
            post.getAuthor().getLastName(),
            post.getTitle());
  }


}
User.java
public class User {
  // TODO: add private fields for firstName and lastName

  private String firstName;
  private String lastName;

  public User(String firstName, String lastName) {
    // TODO: set and add the private fields
         this.firstName=firstName;
         this.lastName=lastName;

  }

  // TODO: add getters for firstName and lastName

  public String getFirstName(){
         this.firstName=firstName;
         return firstName;
         }

  public String getLastName(){
         this.lastName=lastName;
         return lastName;
         }

}
ForumPost.java
public class ForumPost {
  private User author;
  private String title;
  private String description;

  // TODO: add a constructor that accepts the author, title and description

  public ForumPost(User author,String title, String description){
         this.author=new User(author.getFirstName(),author.getLastName());
         this.title=title;
         this.description=description;
         }

  public User getAuthor() {
         return author;
  }

  public String getTitle() {

    return title;
  }

  public String getDescription() {
    return description;
  }
}
Main.java
public class Main {

  public static void main(String[] args) {
    System.out.println("Beginning forum example");
    if (args.length < 2) {
      System.out.println("Usage: java Main <first name> <last name>");
      System.err.println("<first name> and <last name> are required");
      System.exit(1);
    }
    // Uncomment this when prompted



    Forum forum = new Forum("java");

    // TODO: pass in the first name and last name that are in the args parameter

    User author = new User("Craig","Dennis");

    // TODO: initialize the forum post with the user created above and a title and description of your choice

    ForumPost post = new ForumPost(author,"java objects","java objects");
    forum.addPost(post);
    }

}

1 Answer

Daniel Turato
PRO
Daniel Turato
Java Web Development Techdegree Graduate 30,108 Points

When creating the user, you have to get the first name from the args[] passed in the main method. So your code would look like this:

User author = new User(args[0], args[1]);