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 Objects (Retired) Delivering the MVP Wrapping up

James Stearns
James Stearns
1,056 Points

Stuck on the last part of the wrapping up section. Says i have nullPointerException in line 13 of my Forum.java.

WHy?

ForumPost.java
public class ForumPost {
  private User mAuthor;
  private String mTitle;
  private String mDescription;
  public ForumPost(User author, String title, String description){

  }
  public User getAuthor() {
    return mAuthor;
  }

  public String getTitle() {
    return mTitle;
  }
  public String getDescription(){
    return mDescription;
  }

  // TODO: We need to expose the description
}
User.java
public class User {
    private String mFirstName;
    private String mLastName;
  public User(String firstName, String lastName) {
    // TODO:  Set the private fields here
    mFirstName=firstName;
    mLastName=lastName;
  }
  public String getFirstName(){
    return mFirstName;
  }
  public String getLastName(){
    return mLastName;
  }
}
Forum.java
public class Forum {
  private String mTopic;

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

  public void addPost(ForumPost post) {
      System.out.printf("New post from %s %s about %s.\n",
                         post.getAuthor().getFirstName(),
                         post.getAuthor().getLastName(),
                         post.getTitle());

  }
}
Example.java
public class Example {

  public static void main(String[] args) {
    System.out.println("Starting forum example...");
    if (args.length < 2) {
       System.out.println("first and last name are required. eg:  java Example Craig Dennis");
    }
    Forum forum = new Forum("Java");

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

    ForumPost post = new ForumPost(author,"I did it!","I Made this!!");
    forum.addPost(post);
  }
}

2 Answers

Hello,

At least one problem I can see that could lead to the Exception is that in your ForumPost constructor you do not initialize the member variables to the values that are passed in to the constructor. If this does not solve the problem or you run into other problems that you need answered feel free to ask.

I also should add why this is causing it. Since you did not initialize it in the constructor, mAuthor is null and so the getAuthor() method returns null. However, you then try calling getFirstName() on the null value which brings up the Exception.